diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-07-18 14:35:53 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-07-18 14:35:53 +0000 |
commit | f48ee4482a502e0e0a2cba74bf45f06afbb66dd8 (patch) | |
tree | 7ee1d8d29629f134afc4082c1b394cf495dd8d91 /clang/lib/CodeGen/CGExprCXX.cpp | |
parent | 3204a105e31987f7dc6b8cf61ac7a26be5cf6213 (diff) | |
download | bcm5719-llvm-f48ee4482a502e0e0a2cba74bf45f06afbb66dd8.tar.gz bcm5719-llvm-f48ee4482a502e0e0a2cba74bf45f06afbb66dd8.zip |
[AST] Cleanup ExprIterator.
- Make it a proper random access iterator with a little help from iterator_adaptor_base
- Clean up users of magic dereferencing. The iterator should behave like an Expr **.
- Make it an implementation detail of Stmt. This allows inlining of the assertions.
llvm-svn: 242608
Diffstat (limited to 'clang/lib/CodeGen/CGExprCXX.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExprCXX.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGExprCXX.cpp b/clang/lib/CodeGen/CGExprCXX.cpp index 371f44fcc95..2a6ed30a864 100644 --- a/clang/lib/CodeGen/CGExprCXX.cpp +++ b/clang/lib/CodeGen/CGExprCXX.cpp @@ -196,7 +196,7 @@ RValue CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr( // Trivial move and copy ctor are the same. assert(CE->getNumArgs() == 1 && "unexpected argcount for trivial ctor"); llvm::Value *RHS = EmitLValue(*CE->arg_begin()).getAddress(); - EmitAggregateCopy(This, RHS, CE->arg_begin()->getType()); + EmitAggregateCopy(This, RHS, (*CE->arg_begin())->getType()); return RValue::get(This); } llvm_unreachable("unknown trivial member function"); @@ -1089,8 +1089,7 @@ RValue CodeGenFunction::EmitBuiltinNewDeleteCall(const FunctionProtoType *Type, bool IsDelete) { CallArgList Args; const Stmt *ArgS = Arg; - EmitCallArgs(Args, *Type->param_type_begin(), - ConstExprIterator(&ArgS), ConstExprIterator(&ArgS + 1)); + EmitCallArgs(Args, *Type->param_type_begin(), &ArgS, &ArgS + 1); // Find the allocation or deallocation function that we're calling. ASTContext &Ctx = getContext(); DeclarationName Name = Ctx.DeclarationNames |