34 lines · cpp
1// RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s2 3template<class X> class B {4public:5 explicit B(X* p = 0);6};7 8class A9{10public:11 A(int value) : m_a_value(value) {};12 A(int value, A* client_A) : m_a_value (value), m_client_A (client_A) {}13 14 virtual ~A() {}15 16private:17 int m_a_value;18 B<A> m_client_A;19};20 21int main(int argc, char **argv) {22 A reallyA (500);23}24 25// CHECK: ![[CLASSTYPE:.*]] = distinct !DICompositeType(tag: DW_TAG_class_type, name: "A",26// CHECK-SAME: identifier: "_ZTS1A"27// CHECK: ![[ARTARG:.*]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: ![[CLASSTYPE]],{{.*}} DIFlagArtificial28// CHECK: !DISubprogram(name: "A"29// CHECK-SAME: scope: ![[CLASSTYPE]]30// CHECK-SAME: line: 1231// CHECK-SAME: DIFlagPublic32// CHECK: !DISubroutineType(types: [[FUNCTYPE:![0-9]*]])33// CHECK: [[FUNCTYPE]] = !{null, ![[ARTARG]], !{{.*}}, !{{.*}}}34