]> granicus.if.org Git - clang/commitdiff
Small fixes to CXXTemporary and CXXBindTemporaryExpr.
authorAnders Carlsson <andersca@mac.com>
Sat, 30 May 2009 20:34:37 +0000 (20:34 +0000)
committerAnders Carlsson <andersca@mac.com>
Sat, 30 May 2009 20:34:37 +0000 (20:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72628 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/ExprCXX.h
lib/AST/ExprCXX.cpp

index ed713c843b2dc874d2840ca69f0af33d2ec2d0d6..0548a7212d37ccd8acafda6d8071eac007bdbd9d 100644 (file)
@@ -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, 
index d0032fb5e5acbbfb17ea413ac88d6ac9bdfa6a0a..f757ac0a892061fda974a2a6c9752c6a14d26f73 100644 (file)
@@ -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,