diff options
| -rw-r--r-- | clang/lib/CodeGen/CGDecl.cpp | 2 | ||||
| -rw-r--r-- | clang/test/CodeGenCXX/debug-info-line.cpp | 8 |
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, |

