Emit destructors correctly for temporaries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72655 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index 939b8f8..2a2d11e 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -239,6 +239,8 @@
   /// 'this' declaration.
   ImplicitParamDecl *CXXThisDecl;
   
+  llvm::SmallVector<const CXXTemporary*, 4> LiveTemporaries;
+  
 public:
   CodeGenFunction(CodeGenModule &cgm);
 
@@ -480,6 +482,8 @@
   void EmitCXXDestructorCall(const CXXDestructorDecl *D, CXXDtorType Type,
                              llvm::Value *This);
   
+  void PushCXXTemporary(const CXXTemporary *Temporary, llvm::Value *Ptr);
+  
   //===--------------------------------------------------------------------===//
   //                            Declaration Emission
   //===--------------------------------------------------------------------===//