diff options
author | Anders Carlsson <andersca@mac.com> | 2009-04-24 05:04:04 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-04-24 05:04:04 +0000 |
commit | bd6734e5f6432ce0cc07171c490ffaa094796198 (patch) | |
tree | b9172a8f7e1537255797dead481d7cabd02d8829 | |
parent | 15ef2b5820f9daccc44b9e847163b705b6f5863b (diff) |
Make the CXXConstructExpr public and add a StmtClass to it. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69954 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/ExprCXX.h | 9 | ||||
-rw-r--r-- | lib/AST/ExprCXX.cpp | 7 |
2 files changed, 9 insertions, 7 deletions
diff --git a/include/clang/AST/ExprCXX.h b/include/clang/AST/ExprCXX.h index 7daaa8abbc..9d3710a2a6 100644 --- a/include/clang/AST/ExprCXX.h +++ b/include/clang/AST/ExprCXX.h @@ -379,7 +379,6 @@ public: virtual child_iterator child_end(); }; - /// CXXConstructExpr - Represents a call to a C++ constructor. class CXXConstructExpr : public Expr { VarDecl *VD; @@ -390,11 +389,13 @@ class CXXConstructExpr : public Expr { Stmt **Args; unsigned NumArgs; - CXXConstructExpr(ASTContext &C, VarDecl *vd, QualType T, - CXXConstructorDecl *d, bool elidable, - Expr **args, unsigned numargs); ~CXXConstructExpr() { } +protected: + CXXConstructExpr(ASTContext &C, StmtClass SC, VarDecl *vd, QualType T, + CXXConstructorDecl *d, bool elidable, + Expr **args, unsigned numargs); + public: static CXXConstructExpr *Create(ASTContext &C, VarDecl *VD, QualType T, CXXConstructorDecl *D, bool Elidable, diff --git a/lib/AST/ExprCXX.cpp b/lib/AST/ExprCXX.cpp index 1e96395d46..e0a988bf66 100644 --- a/lib/AST/ExprCXX.cpp +++ b/lib/AST/ExprCXX.cpp @@ -258,14 +258,15 @@ CXXConstructExpr *CXXConstructExpr::Create(ASTContext &C, VarDecl *VD, QualType T, CXXConstructorDecl *D, bool Elidable, Expr **Args, unsigned NumArgs) { - return new (C) CXXConstructExpr(C, VD, T, D, Elidable, Args, NumArgs); + return new (C) CXXConstructExpr(C, CXXConstructExprClass, VD, T, D, Elidable, + Args, NumArgs); } -CXXConstructExpr::CXXConstructExpr(ASTContext &C, VarDecl *vd, +CXXConstructExpr::CXXConstructExpr(ASTContext &C, StmtClass SC, VarDecl *vd, QualType T, CXXConstructorDecl *D, bool elidable, Expr **args, unsigned numargs) -: Expr(CXXConstructExprClass, T, +: Expr(SC, T, T->isDependentType(), (T->isDependentType() || CallExpr::hasAnyValueDependentArguments(args, numargs))), |