]> granicus.if.org Git - clang/commitdiff
DebugInfo: Correct location of initialization of auto __complex
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 9 Dec 2014 22:15:02 +0000 (22:15 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 9 Dec 2014 22:15:02 +0000 (22:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223842 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDecl.cpp
test/CodeGenCXX/debug-info-line.cpp

index b754a39366642c3074d6e2f1234c9b48a7f7352d..4a612c9bedf91a7889e830aace1a01ccb285424f 100644 (file)
@@ -1211,7 +1211,7 @@ void CodeGenFunction::EmitExprAsInit(const Expr *init, const ValueDecl *D,
     ComplexPairTy complex = EmitComplexExpr(init);
     if (capturedByInit)
       drillIntoBlockVariable(*this, lvalue, cast<VarDecl>(D));
-    EmitStoreOfComplex(complex, lvalue, /*init*/ true);
+    EmitStoreOfComplex(complex, lvalue, /*init*/ true, DbgLoc);
     return;
   }
   case TEK_Aggregate:
index 8bf30e4853a3ed94afc3eb0a6906aab722f0f40e..9936d5f02f5edb0f412030cd6ba2773d01235fce 100644 (file)
@@ -57,6 +57,13 @@ void f4() {
       = src();
 }
 
+// CHECK-LABEL: define
+void f5() {
+#line 600
+  auto x // CHECK: store float {{.*}} !dbg [[DBG_F5:!.*]]
+      = complex_src();
+}
+
 // CHECK: [[DBG_F1]] = metadata !{i32 100,
 // CHECK: [[DBG_FOO_VALUE]] = metadata !{i32 200,
 // CHECK: [[DBG_FOO_REF]] = metadata !{i32 202,
@@ -64,3 +71,4 @@ void f4() {
 // CHECK: [[DBG_F2]] = metadata !{i32 300,
 // CHECK: [[DBG_F3]] = metadata !{i32 400,
 // CHECK: [[DBG_F4]] = metadata !{i32 500,
+// CHECK: [[DBG_F5]] = metadata !{i32 600,