diff options
Diffstat (limited to 'test/CodeGenCXX/debug-info-limited.cpp')
-rw-r--r-- | test/CodeGenCXX/debug-info-limited.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/CodeGenCXX/debug-info-limited.cpp b/test/CodeGenCXX/debug-info-limited.cpp new file mode 100644 index 0000000..54a2424 --- /dev/null +++ b/test/CodeGenCXX/debug-info-limited.cpp @@ -0,0 +1,33 @@ +// RUN: %clang -flimit-debug-info -emit-llvm -g -S %s -o - | FileCheck %s + +// CHECK: ; [ DW_TAG_class_type ] [A] {{.*}} [def] +class A { +public: + int z; +}; + +A *foo (A* x) { + A *a = new A(*x); + return a; +} + +// Verify that we're not emitting a full definition of B in limit debug mode. +// CHECK: ; [ DW_TAG_class_type ] [B] {{.*}} [decl] + +class B { +public: + int y; +}; + +extern int bar(B *b); +int baz(B *b) { + return bar(b); +} + + +// CHECK: ; [ DW_TAG_structure_type ] [C] {{.*}} [decl] + +struct C { +}; + +C (*x)(C); |