xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 %s -g -triple %itanium_abi_triple -fno-use-cxa-atexit -S -emit-llvm -o - \
2f4a2713aSLionel Sambuc // RUN:     | FileCheck %s --check-prefix=CHECK-NOKEXT
3*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 %s -g -triple %itanium_abi_triple -fno-use-cxa-atexit -fapple-kext -S -emit-llvm -o - \
4f4a2713aSLionel Sambuc // RUN:     | FileCheck %s --check-prefix=CHECK-KEXT
5f4a2713aSLionel Sambuc 
6f4a2713aSLionel Sambuc class A {
7f4a2713aSLionel Sambuc  public:
A()8f4a2713aSLionel Sambuc   A() {}
~A()9f4a2713aSLionel Sambuc   virtual ~A() {}
10f4a2713aSLionel Sambuc };
11f4a2713aSLionel Sambuc 
12f4a2713aSLionel Sambuc A glob;
13f4a2713aSLionel Sambuc A array[2];
14f4a2713aSLionel Sambuc 
foo()15f4a2713aSLionel Sambuc void foo() {
16f4a2713aSLionel Sambuc   static A stat;
17f4a2713aSLionel Sambuc }
18f4a2713aSLionel Sambuc 
19f4a2713aSLionel Sambuc // CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 12] [local] [def] [__cxx_global_var_init]
20f4a2713aSLionel Sambuc // CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 12] [local] [def] [__dtor_glob]
21f4a2713aSLionel Sambuc // CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 13] [local] [def] [__cxx_global_var_init1]
22f4a2713aSLionel Sambuc // CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 13] [local] [def] [__cxx_global_array_dtor]
23f4a2713aSLionel Sambuc // CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 13] [local] [def] [__dtor_array]
24f4a2713aSLionel Sambuc // CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 16] [local] [def] [__dtor__ZZ3foovE4stat]
25f4a2713aSLionel Sambuc // CHECK-NOKEXT: [ DW_TAG_subprogram ] [line {{.*}}] [local] [def]{{$}}
26f4a2713aSLionel Sambuc 
27f4a2713aSLionel Sambuc // CHECK-KEXT: [ DW_TAG_subprogram ] [line {{.*}}] [local] [def]{{$}}
28