25 lines · cpp
1// RUN: %clang_cc1 -emit-llvm %s -triple x86_64-windows-msvc -gcodeview -debug-info-kind=limited -o - | FileCheck %s2 3struct b {4 b(char *);5 ~b();6};7struct a {8 ~a();9};10struct {11 b c;12 const a &d;13} e[]{nullptr, {}};14 15// CHECK: define internal void @__cxx_global_array_dtor(ptr noundef %0)16// CHECK-SAME: !dbg ![[SUBPROGRAM:[0-9]+]] {17// CHECK: arraydestroy.body18// 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: DIFlagArtificial24// CHECK: ![[LOCATION]] = !DILocation(line: 0,25