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