summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/CodeGen/CGDecl.cpp2
-rw-r--r--clang/test/CodeGenCXX/debug-info-line.cpp8
2 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGDecl.cpp b/clang/lib/CodeGen/CGDecl.cpp
index b754a393666..4a612c9bedf 100644
--- a/clang/lib/CodeGen/CGDecl.cpp
+++ b/clang/lib/CodeGen/CGDecl.cpp
@@ -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:
diff --git a/clang/test/CodeGenCXX/debug-info-line.cpp b/clang/test/CodeGenCXX/debug-info-line.cpp
index 8bf30e4853a..9936d5f02f5 100644
--- a/clang/test/CodeGenCXX/debug-info-line.cpp
+++ b/clang/test/CodeGenCXX/debug-info-line.cpp
@@ -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,
OpenPOWER on IntegriCloud