diff options
Diffstat (limited to 'test/CodeGenCXX/linetable-virtual-variadic.cpp')
-rw-r--r-- | test/CodeGenCXX/linetable-virtual-variadic.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CodeGenCXX/linetable-virtual-variadic.cpp b/test/CodeGenCXX/linetable-virtual-variadic.cpp new file mode 100644 index 0000000..c16c5e3 --- /dev/null +++ b/test/CodeGenCXX/linetable-virtual-variadic.cpp @@ -0,0 +1,23 @@ +// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -gline-tables-only %s -o - | FileCheck %s +// Crasher for PR22929. +class Base { + virtual void VariadicFunction(...); +}; + +class Derived : public virtual Base { + virtual void VariadicFunction(...); +}; + +void Derived::VariadicFunction(...) { } + +// CHECK-LABEL: define void @_ZN7Derived16VariadicFunctionEz( +// CHECK: ret void, !dbg ![[LOC:[0-9]+]] +// CHECK-LABEL: define void @_ZT{{.+}}N7Derived16VariadicFunctionEz( +// CHECK: ret void, !dbg ![[LOC:[0-9]+]] +// +// CHECK: !llvm.dbg.cu = !{![[CU:[0-9]+]]} +// +// CHECK: ![[CU]] = !DICompileUnit({{.*}} subprograms: ![[SPs:[0-9]+]] +// CHECK: ![[SPs]] = !{![[SP:[0-9]+]]} +// CHECK: ![[SP]] = !DISubprogram(name: "VariadicFunction",{{.*}} function: {{[^:]+}} @_ZN7Derived16VariadicFunctionEz +// CHECK: ![[LOC]] = !DILocation({{.*}}scope: ![[SP]]) |