1 // RUN: %clang_cc1 %s -debug-info-kind=limited -triple %itanium_abi_triple -fno-use-cxa-atexit -S -emit-llvm -o - \ 2 // RUN: | FileCheck %s --check-prefix=CHECK-NOKEXT 3 // RUN: %clang_cc1 %s -debug-info-kind=limited -triple %itanium_abi_triple -fno-use-cxa-atexit -fapple-kext -S -emit-llvm -o - \ 4 // RUN: | FileCheck %s --check-prefix=CHECK-KEXT 5 6 class A { 7 public: 8 A() {} 9 virtual ~A() {} 10 }; 11 12 A glob; 13 A array[2]; 14 15 void foo() { 16 static A stat; 17 } 18 19 // CHECK-NOKEXT: !DISubprogram(name: "__cxx_global_var_init",{{.*}} line: 12,{{.*}} isLocal: true, isDefinition: true 20 // CHECK-NOKEXT: !DISubprogram(name: "__dtor_glob",{{.*}} line: 12,{{.*}} isLocal: true, isDefinition: true 21 // CHECK-NOKEXT: !DISubprogram(name: "__cxx_global_var_init.1",{{.*}} line: 13,{{.*}} isLocal: true, isDefinition: true 22 // CHECK-NOKEXT: !DISubprogram(name: "__cxx_global_array_dtor",{{.*}} line: 13,{{.*}} isLocal: true, isDefinition: true 23 // CHECK-NOKEXT: !DISubprogram(name: "__dtor_array",{{.*}} line: 13,{{.*}} isLocal: true, isDefinition: true 24 // CHECK-NOKEXT: !DISubprogram(name: "__dtor__ZZ3foovE4stat",{{.*}} line: 16,{{.*}} isLocal: true, isDefinition: true 25 // CHECK-NOKEXT: !DISubprogram({{.*}} isLocal: true, isDefinition: true 26 27 // CHECK-KEXT: !DISubprogram({{.*}} isLocal: true, isDefinition: true 28