xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/debug-info-limited.cpp (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc // RUN: %clang -flimit-debug-info -emit-llvm -g -S %s -o - | FileCheck %s
2f4a2713aSLionel Sambuc 
3f4a2713aSLionel Sambuc // CHECK: ; [ DW_TAG_class_type ] [A] {{.*}} [def]
4f4a2713aSLionel Sambuc class A {
5f4a2713aSLionel Sambuc public:
6f4a2713aSLionel Sambuc   int z;
7f4a2713aSLionel Sambuc };
8f4a2713aSLionel Sambuc 
foo(A * x)9f4a2713aSLionel Sambuc A *foo (A* x) {
10f4a2713aSLionel Sambuc   A *a = new A(*x);
11f4a2713aSLionel Sambuc   return a;
12f4a2713aSLionel Sambuc }
13f4a2713aSLionel Sambuc 
14*0a6a1f1dSLionel Sambuc // CHECK: ; [ DW_TAG_class_type ] [B] {{.*}} [def]
15f4a2713aSLionel Sambuc 
16f4a2713aSLionel Sambuc class B {
17f4a2713aSLionel Sambuc public:
18f4a2713aSLionel Sambuc   int y;
19f4a2713aSLionel Sambuc };
20f4a2713aSLionel Sambuc 
21f4a2713aSLionel Sambuc extern int bar(B *b);
baz(B * b)22f4a2713aSLionel Sambuc int baz(B *b) {
23f4a2713aSLionel Sambuc   return bar(b);
24f4a2713aSLionel Sambuc }
25f4a2713aSLionel Sambuc 
26f4a2713aSLionel Sambuc 
27f4a2713aSLionel Sambuc // CHECK: ; [ DW_TAG_structure_type ] [C] {{.*}} [decl]
28f4a2713aSLionel Sambuc 
29f4a2713aSLionel Sambuc struct C {
30f4a2713aSLionel Sambuc };
31f4a2713aSLionel Sambuc 
32f4a2713aSLionel Sambuc C (*x)(C);
33