diff options
Diffstat (limited to 'lib/AST/ExprCXX.cpp')
-rw-r--r-- | lib/AST/ExprCXX.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/AST/ExprCXX.cpp b/lib/AST/ExprCXX.cpp index f757ac0a89..4b43606327 100644 --- a/lib/AST/ExprCXX.cpp +++ b/lib/AST/ExprCXX.cpp @@ -251,35 +251,33 @@ CXXBindTemporaryExpr *CXXBindTemporaryExpr::Create(ASTContext &C, return new (C) CXXBindTemporaryExpr(Temp, SubExpr); } -CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(ASTContext &C, VarDecl *vd, +CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(ASTContext &C, CXXConstructorDecl *Cons, QualType writtenTy, SourceLocation tyBeginLoc, Expr **Args, unsigned NumArgs, SourceLocation rParenLoc) - : CXXConstructExpr(C, CXXTemporaryObjectExprClass, vd, writtenTy, Cons, + : CXXConstructExpr(C, CXXTemporaryObjectExprClass, writtenTy, Cons, false, Args, NumArgs), TyBeginLoc(tyBeginLoc), RParenLoc(rParenLoc) { } -CXXConstructExpr *CXXConstructExpr::Create(ASTContext &C, VarDecl *VD, - QualType T, CXXConstructorDecl *D, - bool Elidable, +CXXConstructExpr *CXXConstructExpr::Create(ASTContext &C, QualType T, + CXXConstructorDecl *D, bool Elidable, Expr **Args, unsigned NumArgs) { - return new (C) CXXConstructExpr(C, CXXConstructExprClass, VD, T, D, Elidable, + return new (C) CXXConstructExpr(C, CXXConstructExprClass, T, D, Elidable, Args, NumArgs); } -CXXConstructExpr::CXXConstructExpr(ASTContext &C, StmtClass SC, VarDecl *vd, - QualType T, CXXConstructorDecl *D, - bool elidable, +CXXConstructExpr::CXXConstructExpr(ASTContext &C, StmtClass SC, QualType T, + CXXConstructorDecl *D, bool elidable, Expr **args, unsigned numargs) : Expr(SC, T, T->isDependentType(), (T->isDependentType() || CallExpr::hasAnyValueDependentArguments(args, numargs))), - VD(vd), Constructor(D), Elidable(elidable), Args(0), NumArgs(numargs) { + Constructor(D), Elidable(elidable), Args(0), NumArgs(numargs) { if (NumArgs > 0) { Args = new (C) Stmt*[NumArgs]; for (unsigned i = 0; i < NumArgs; ++i) |