summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/debug-info-limited.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenCXX/debug-info-limited.cpp')
-rw-r--r--test/CodeGenCXX/debug-info-limited.cpp33
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);
OpenPOWER on IntegriCloud