1 // RUN: %clang -flimit-debug-info -emit-llvm -g -S %s -o - | FileCheck %s
2 
3 // CHECK: !MDCompositeType(tag: DW_TAG_class_type, name: "A"
4 // CHECK-NOT:              DIFlagFwdDecl
5 // CHECK-SAME:             ){{$}}
6 class A {
7 public:
8   int z;
9 };
10 
foo(A * x)11 A *foo (A* x) {
12   A *a = new A(*x);
13   return a;
14 }
15 
16 // CHECK: !MDCompositeType(tag: DW_TAG_class_type, name: "B"
17 // CHECK-NOT:              DIFlagFwdDecl
18 // CHECK-SAME:             ){{$}}
19 
20 class B {
21 public:
22   int y;
23 };
24 
25 extern int bar(B *b);
baz(B * b)26 int baz(B *b) {
27   return bar(b);
28 }
29 
30 
31 // CHECK: !MDCompositeType(tag: DW_TAG_structure_type, name: "C"
32 // CHECK-SAME:             flags: DIFlagFwdDecl
33 
34 struct C {
35 };
36 
37 C (*x)(C);
38