From 0fb730a9672c49efdbfb202ba1416806919c6589 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Tue, 9 Dec 2014 22:15:02 +0000 Subject: [PATCH] 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 --- lib/CodeGen/CGDecl.cpp | 2 +- test/CodeGenCXX/debug-info-line.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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, -- 2.40.0