[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / CodeGenCXX / debug-info-destroy-helper.cpp
blobd685e6169997dd1c31422b43de9b6f0dfecc0105
1 // RUN: %clang_cc1 -emit-llvm %s -triple x86_64-windows-msvc -gcodeview -debug-info-kind=limited -o - | FileCheck %s
3 struct b {
4 b(char *);
5 ~b();
6 };
7 struct a {
8 ~a();
9 };
10 struct {
11 b c;
12 const a &d;
13 } e[]{nullptr, {}};
15 // CHECK: define internal void @__cxx_global_array_dtor(ptr noundef %0)
16 // CHECK-SAME: !dbg ![[SUBPROGRAM:[0-9]+]] {
17 // CHECK: arraydestroy.body
18 // CHECK: %arraydestroy.elementPast =
19 // CHECK-SAME: !dbg ![[LOCATION:[0-9]+]]
20 // CHECK: call void @"??1<unnamed-type-e>@@QEAA@XZ"(ptr {{[^,]*}} %arraydestroy.element)
21 // CHECK-SAME: !dbg ![[LOCATION]]
22 // CHECK: ![[SUBPROGRAM]] = distinct !DISubprogram(name: "__cxx_global_array_dtor"
23 // CHECK-SAME: flags: DIFlagArtificial
24 // CHECK: ![[LOCATION]] = !DILocation(line: 0,