diff options
author | Alexey Samsonov <samsonov@google.com> | 2012-10-25 10:18:50 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2012-10-25 10:18:50 +0000 |
commit | 9b502e512c44365c8df5dce1c032f00688ac2fd7 (patch) | |
tree | 4fe2cab22f98a8db265beff7cb99d476ff8dd4fb /clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp | |
parent | 95fd41aeacfee23503d2fcdea9d5a350ace813e4 (diff) | |
download | bcm5719-llvm-9b502e512c44365c8df5dce1c032f00688ac2fd7.tar.gz bcm5719-llvm-9b502e512c44365c8df5dce1c032f00688ac2fd7.zip |
Initialize debug info for special cases of functions that lack declarations and are generated by Clang (global initializers/destructors, thunks) . Fixes PR13942.
llvm-svn: 166676
Diffstat (limited to 'clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp b/clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp new file mode 100644 index 00000000000..bdaf58c8270 --- /dev/null +++ b/clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp @@ -0,0 +1,27 @@ +// RUN: %clang_cc1 %s -g -fno-use-cxa-atexit -S -emit-llvm -o - \ +// RUN: | FileCheck %s --check-prefix=CHECK-NOKEXT +// RUN: %clang_cc1 %s -g -fno-use-cxa-atexit -fapple-kext -S -emit-llvm -o - \ +// RUN: | FileCheck %s --check-prefix=CHECK-KEXT + +class A { + public: + A() {} + virtual ~A() {} +}; + +A glob; +A array[2]; + +void foo() { + static A stat; +} + +// CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 12] [local] [def] [__cxx_global_var_init] +// CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 12] [local] [def] [__dtor_glob] +// CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 13] [local] [def] [__cxx_global_var_init1] +// CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 13] [local] [def] [__cxx_global_array_dtor] +// CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 13] [local] [def] [__dtor_] +// CHECK-NOKEXT: [ DW_TAG_subprogram ] [line 16] [local] [def] [__dtor__ZZ3foovE4stat] +// CHECK-NOKEXT: [ DW_TAG_subprogram ] [line {{.*}}] [local] [def] [_GLOBAL__I_a] + +// CHECK-KEXT: [ DW_TAG_subprogram ] [line {{.*}}] [local] [def] [_GLOBAL__D_a] |