r224963 - PR22051: Missing debug location on calls in dtor thunks in Windows.

David Blaikie dblaikie at gmail.com
Mon Dec 29 14:53:53 PST 2014


Author: dblaikie
Date: Mon Dec 29 16:53:52 2014
New Revision: 224963

URL: http://llvm.org/viewvc/llvm-project?rev=224963&view=rev
Log:
PR22051: Missing debug location on calls in dtor thunks in Windows.

Added:
    cfe/trunk/test/CodeGenCXX/debug-info-windows-dtor.cpp
Modified:
    cfe/trunk/lib/CodeGen/CGVTables.cpp

Modified: cfe/trunk/lib/CodeGen/CGVTables.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGVTables.cpp?rev=224963&r1=224962&r2=224963&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGVTables.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGVTables.cpp Mon Dec 29 16:53:52 2014
@@ -214,7 +214,7 @@ void CodeGenFunction::StartThunk(llvm::F
 
   // Start defining the function.
   StartFunction(GlobalDecl(), ResultType, Fn, FnInfo, FunctionArgs,
-                MD->getLocation(), SourceLocation());
+                MD->getLocation(), MD->getLocation());
 
   // Since we didn't pass a GlobalDecl to StartFunction, do this ourselves.
   CGM.getCXXABI().EmitInstanceFunctionProlog(*this);

Added: cfe/trunk/test/CodeGenCXX/debug-info-windows-dtor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/debug-info-windows-dtor.cpp?rev=224963&view=auto
==============================================================================
--- cfe/trunk/test/CodeGenCXX/debug-info-windows-dtor.cpp (added)
+++ cfe/trunk/test/CodeGenCXX/debug-info-windows-dtor.cpp Mon Dec 29 16:53:52 2014
@@ -0,0 +1,22 @@
+// RUN: %clang_cc1 -triple i386-unknown-windows-msvc -std=c++11 -emit-llvm -gline-tables-only %s -o - | FileCheck %s
+
+struct A {
+  virtual ~A() {}
+};
+
+struct B {
+  virtual ~B() {}
+};
+
+template<typename T>
+struct AB: A, B {
+};
+
+template struct AB<int>;
+
+// CHECK-LABEL: define {{.*}}@"\01??_E?$AB at H@@W3AEPAXI at Z"
+// CHECK: call {{.*}}@"\01??_G?$AB at H@@UAEPAXI at Z"({{.*}}) #{{[0-9]*}}, !dbg [[THUNK_LOC:![0-9]*]]
+// CHECK-LABEL: define
+
+// CHECK: [[THUNK_VEC_DEL_DTOR:![0-9]*]] = {{.*}} @"\01??_E?$AB at H@@W3AEPAXI at Z", {{.*}}; [ DW_TAG_subprogram ]
+// CHECK: [[THUNK_LOC]] = !{i32 15, i32 0, [[THUNK_VEC_DEL_DTOR]], null}





More information about the cfe-commits mailing list