[cfe-commits] r91036 - /cfe/trunk/lib/CodeGen/CGDeclCXX.cpp

Anders Carlsson andersca at mac.com
Wed Dec 9 17:58:34 PST 2009


Author: andersca
Date: Wed Dec  9 19:58:33 2009
New Revision: 91036

URL: http://llvm.org/viewvc/llvm-project?rev=91036&view=rev
Log:
Actually store the pointer into the global variable, spotted by Eli.

Modified:
    cfe/trunk/lib/CodeGen/CGDeclCXX.cpp

Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp?rev=91036&r1=91035&r2=91036&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Wed Dec  9 19:58:33 2009
@@ -193,10 +193,13 @@
   EmitBlock(InitBlock);
 
   if (D.getType()->isReferenceType()) {
+    QualType T = D.getType();
     // We don't want to pass true for IsInitializer here, because a static
     // reference to a temporary does not extend its lifetime.
-    EmitReferenceBindingToExpr(D.getInit(), D.getType(),
-                               /*IsInitializer=*/false);
+    RValue RV = EmitReferenceBindingToExpr(D.getInit(), T,
+                                           /*IsInitializer=*/false);
+    EmitStoreOfScalar(RV.getScalarVal(), GV, /*Volatile=*/false, T);
+
   } else
     EmitDeclInit(*this, D, GV);
 





More information about the cfe-commits mailing list