blob: 17a6ae294f2a48451028d7ce494d83c34f0ed6cb [file] [log] [blame]
Eric Christopher3b8e1972012-02-09 07:26:21 +00001// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s
2
3template<class X> class B {
4public:
5 explicit B(X* p = 0);
6};
7
8class A
9{
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// FIXME: The numbers are truly awful.
David Blaikieb9d61ca2013-01-08 01:12:59 +000026// CHECK: !16 = metadata !{i32 786447, i32 0, metadata !"", i32 0, i32 0, i64 64, i64 64, i64 0, i32 1088, metadata !17} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [artificial] [from A]
Eric Christopher87380aa2012-04-23 19:00:24 +000027// CHECK: !17 = metadata !{i32 {{.*}}, null, metadata !"A", metadata !6, i32 8, i64 128, i64 64, i32 0, i32 0, null, metadata !18, i32 0, metadata !17, null} ; [ DW_TAG_class_type ]
28// CHECK: metadata !17, metadata !"A", metadata !"A", metadata !"", metadata !6, i32 12, metadata !43, i1 false, i1 false, i32 0, i32 0, null, i32 256, i1 false, null, null, i32 0, metadata !45, i32 12} ; [ DW_TAG_subprogram ]
29// CHECK: metadata !"", i32 0, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !44, i32 0, i32 0} ; [ DW_TAG_subroutine_type ]
30// CHECK: !44 = metadata !{null, metadata !16, metadata !9, metadata !32}