From: David Blaikie Date: Tue, 9 Dec 2014 22:15:02 +0000 (+0000) Subject: DebugInfo: Correct location of initialization of auto __complex X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0fb730a9672c49efdbfb202ba1416806919c6589;p=clang DebugInfo: Correct location of initialization of auto __complex git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223842 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGDecl.cpp b/lib/CodeGen/CGDecl.cpp index b754a39366..4a612c9bed 100644 --- a/lib/CodeGen/CGDecl.cpp +++ b/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(D)); - EmitStoreOfComplex(complex, lvalue, /*init*/ true); + EmitStoreOfComplex(complex, lvalue, /*init*/ true, DbgLoc); return; } case TEK_Aggregate: diff --git a/test/CodeGenCXX/debug-info-line.cpp b/test/CodeGenCXX/debug-info-line.cpp index 8bf30e4853..9936d5f02f 100644 --- a/test/CodeGenCXX/debug-info-line.cpp +++ b/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,