Add a VarDecl parameter to the CXXTemporaryObjectExpr constructor. It's unused for now, so no functionality change yet. Also, create CXXTempVarDecls to pass to the CXXTemporaryObjectExpr ctor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69957 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp
index d3a46dc..753d1e4 100644
--- a/lib/Sema/SemaExprCXX.cpp
+++ b/lib/Sema/SemaExprCXX.cpp
@@ -128,7 +128,10 @@
   if (Ty->isDependentType() ||
       CallExpr::hasAnyTypeDependentArguments(Exprs, NumExprs)) {
     exprs.release();
-    return Owned(new (Context) CXXTemporaryObjectExpr(0, Ty, TyBeginLoc,
+    
+    // FIXME: Is this correct?
+    CXXTempVarDecl *Temp = CXXTempVarDecl::Create(Context, CurContext, Ty);
+    return Owned(new (Context) CXXTemporaryObjectExpr(Temp, 0, Ty, TyBeginLoc,
                                                       Exprs, NumExprs,
                                                       RParenLoc));
   }
@@ -163,8 +166,10 @@
       if (!Constructor)
         return ExprError();
 
+      CXXTempVarDecl *Temp = CXXTempVarDecl::Create(Context, CurContext, Ty);
+
       exprs.release();
-      return Owned(new (Context) CXXTemporaryObjectExpr(Constructor, Ty,
+      return Owned(new (Context) CXXTemporaryObjectExpr(Temp, Constructor, Ty,
                                                         TyBeginLoc,  Exprs,
                                                         NumExprs, RParenLoc));
     }