diff options
author | Anders Carlsson <andersca@mac.com> | 2009-05-30 20:34:37 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-05-30 20:34:37 +0000 |
commit | ffda606612466c13d7de81c36bc96ecbdfafbc5a (patch) | |
tree | d3e0d4be625f6d644cda4104e58ec2c9b91e5dc9 | |
parent | 993a4b308060443b30a98d8ca1371b341ba809b8 (diff) | |
download | bcm5719-llvm-ffda606612466c13d7de81c36bc96ecbdfafbc5a.tar.gz bcm5719-llvm-ffda606612466c13d7de81c36bc96ecbdfafbc5a.zip |
Small fixes to CXXTemporary and CXXBindTemporaryExpr.
llvm-svn: 72628
-rw-r--r-- | clang/include/clang/AST/ExprCXX.h | 7 | ||||
-rw-r--r-- | clang/lib/AST/ExprCXX.cpp | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/clang/include/clang/AST/ExprCXX.h b/clang/include/clang/AST/ExprCXX.h index ed713c843b2..0548a7212d3 100644 --- a/clang/include/clang/AST/ExprCXX.h +++ b/clang/include/clang/AST/ExprCXX.h @@ -415,13 +415,14 @@ public: /// CXXTemporary - Represents a C++ temporary. class CXXTemporary { /// Destructor - The destructor that needs to be called. - CXXDestructorDecl *Destructor; + const CXXDestructorDecl *Destructor; - CXXTemporary(CXXDestructorDecl *destructor) + CXXTemporary(const CXXDestructorDecl *destructor) : Destructor(destructor) { } public: - static CXXTemporary *Create(ASTContext &C, CXXDestructorDecl *Destructor); + static CXXTemporary *Create(ASTContext &C, + const CXXDestructorDecl *Destructor); }; /// CXXBindTemporaryExpr - Represents binding an expression to a temporary, diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp index d0032fb5e5a..f757ac0a892 100644 --- a/clang/lib/AST/ExprCXX.cpp +++ b/clang/lib/AST/ExprCXX.cpp @@ -237,7 +237,7 @@ const char *CXXNamedCastExpr::getCastName() const { } CXXTemporary *CXXTemporary::Create(ASTContext &C, - CXXDestructorDecl *Destructor) { + const CXXDestructorDecl *Destructor) { // FIXME: Allocate using the ASTContext. return new CXXTemporary(Destructor); } @@ -248,7 +248,7 @@ CXXBindTemporaryExpr *CXXBindTemporaryExpr::Create(ASTContext &C, assert(SubExpr->getType()->isRecordType() && "Expression bound to a temporary must have record type!"); - return new CXXBindTemporaryExpr(Temp, SubExpr); + return new (C) CXXBindTemporaryExpr(Temp, SubExpr); } CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(ASTContext &C, VarDecl *vd, |