summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2016-11-16 18:49:47 +0000
committerAdrian Prantl <aprantl@apple.com>2016-11-16 18:49:47 +0000
commitd3c4e1b11fc12b86e1f4d40b28dc5fd71320c814 (patch)
tree86e56bedb0772c6d7abe0b4d758e8fe16ebca3a1 /clang/test/CodeGenCXX
parent17c65af82f84a05f359617ca11b18f0ce32ea7a7 (diff)
downloadbcm5719-llvm-d3c4e1b11fc12b86e1f4d40b28dc5fd71320c814.tar.gz
bcm5719-llvm-d3c4e1b11fc12b86e1f4d40b28dc5fd71320c814.zip
Fix PR31029 by attaching an artificial debug location to msabi thunks.
This was a latent bug that was recently uncovered by r286400. llvm-svn: 287134
Diffstat (limited to 'clang/test/CodeGenCXX')
-rw-r--r--clang/test/CodeGenCXX/debug-info-thunk-msabi.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/debug-info-thunk-msabi.cpp b/clang/test/CodeGenCXX/debug-info-thunk-msabi.cpp
new file mode 100644
index 00000000000..3c9e2e08736
--- /dev/null
+++ b/clang/test/CodeGenCXX/debug-info-thunk-msabi.cpp
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 %s -triple i386-pc-windows-msvc19.0.0 -emit-obj \
+// RUN: -debug-info-kind=line-tables-only -fms-extensions
+class __declspec(dllexport) A {
+ A(int * = new int) {}
+};
+// CHECK: define {{.*}}void @"\01??_FA@@AAEXXZ"
+// CHECK-SAME: !dbg ![[SP:[0-9]+]]
+// CHECK-NOT: {{ret }}
+// CHECK: call x86_thiscallcc %class.A* @"\01??0A@@AAE@PAH@Z"(%class.A* %this1, i32* %0)
+// CHECK-SAME: !dbg ![[DBG:[0-9]+]]
+// CHECK: ret void, !dbg ![[DBG]]
+//
+// CHECK: ![[SP]] = distinct !DISubprogram(
+// CHECK-SAME: line: 3
+// CHECK-SAME: isDefinition: true
+// CHECK-SAME: DIFlagArtificial
+// CHECK-SAME: ){{$}}
+//
+// CHECK: ![[DBG]] = !DILocation(line: 0
OpenPOWER on IntegriCloud