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