Stop using CXXTempVarDecl and use CXXTemporary instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72634 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index f7d66da..ecb1775 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -82,6 +82,7 @@
   class ObjCContainerDecl;
   class BasePaths;
   struct MemberLookupCriteria;
+  class CXXTemporary;
 
 /// BlockSemaInfo - When a block is being parsed, this contains information
 /// about the block.  It is pointed to from Sema::CurBlock.
@@ -165,7 +166,7 @@
 
   /// ExprTemporaries - This is the stack of temporaries that are created by 
   /// the current full expression.
-  llvm::SmallVector<CXXTempVarDecl*, 8> ExprTemporaries;
+  llvm::SmallVector<CXXTemporary*, 8> ExprTemporaries;
 
   /// CurFunctionNeedsScopeChecking - This is set to true when a function or
   /// ObjC method body contains a VLA or an ObjC try block, which introduce
diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp
index e9b68d7..5d18c3c 100644
--- a/lib/Sema/SemaExprCXX.cpp
+++ b/lib/Sema/SemaExprCXX.cpp
@@ -203,11 +203,7 @@
       if (!Constructor)
         return ExprError();
 
-      CXXTempVarDecl *Temp = CXXTempVarDecl::Create(Context, CurContext, Ty);
-      ExprTemporaries.push_back(Temp);
-      
       exprs.release();
-      
       Expr *E = new (Context) CXXTemporaryObjectExpr(Context, Constructor, 
                                                      Ty, TyBeginLoc, Exprs,
                                                      NumExprs, RParenLoc);