Sometimes the MS ABI needs to emit thunks for declarations that don't have bodies. Destructor thunks make calls to inlinable functions, so they need line info or LLVM will complain. Fixes PR31893 llvm-svn: 294465
15 lines
740 B
C++
15 lines
740 B
C++
// RUN: %clang_cc1 -triple i686--windows -emit-llvm -debug-info-kind=line-tables-only -x c++ %s -fms-extensions -o - | FileCheck %s
|
|
|
|
struct __declspec(dllexport) S { virtual ~S(); };
|
|
struct __declspec(dllexport) T { virtual ~T(); };
|
|
struct __declspec(dllexport) U : S, T { virtual ~U(); };
|
|
|
|
// CHECK-LABEL: define {{.*}} @"\01??_GS@@UAEPAXI@Z"
|
|
// CHECK: call x86_thiscallcc void @"\01??_DS@@UAE@XZ"(%struct.S* %this1){{.*}}!dbg !{{[0-9]+}}
|
|
|
|
// CHECK-LABEL: define {{.*}} @"\01??_GT@@UAEPAXI@Z"
|
|
// CHECK: call x86_thiscallcc void @"\01??_DT@@UAE@XZ"(%struct.T* %this1){{.*}}!dbg !{{[0-9]+}}
|
|
|
|
// CHECK-LABEL: define {{.*}} @"\01??_GU@@UAEPAXI@Z"
|
|
// CHECK: call x86_thiscallcc void @"\01??_DU@@UAE@XZ"(%struct.U* %this1){{.*}}!dbg !{{[0-9]+}}
|