blob: a9de62c39062685442fc35673b768916149aaa45 [file] [log] [blame]
Jyotsna Verma9dea0952013-04-10 19:53:26 +00001; REQUIRES: object-emission
2
Timur Iskhodzhanovf166f6c2014-01-30 01:39:17 +00003; RUN: %llc_dwarf -O0 -filetype=obj < %s > %t
David Blaikie2881da72013-03-20 19:39:15 +00004; RUN: llvm-dwarfdump %t | FileCheck %s
5; CHECK: debug_info contents
David Blaikie684fc532013-05-06 23:33:07 +00006; CHECK: [[NS1:0x[0-9a-f]*]]:{{ *}}DW_TAG_namespace
David Blaikie4f278f92013-03-20 06:27:06 +00007; CHECK-NEXT: DW_AT_name{{.*}} = "A"
David Blaikie2881da72013-03-20 19:39:15 +00008; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F1:[0-9]]])
9; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x03)
David Blaikiefdabd482013-03-20 05:15:37 +000010; CHECK-NOT: NULL
David Blaikief55abea2013-04-22 06:12:31 +000011; CHECK: [[NS2:0x[0-9a-f]*]]:{{ *}}DW_TAG_namespace
David Blaikiea354eed2013-03-20 19:14:16 +000012; CHECK-NEXT: DW_AT_name{{.*}} = "B"
David Blaikie2881da72013-03-20 19:39:15 +000013; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2:[0-9]]])
14; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x01)
David Blaikiea354eed2013-03-20 19:14:16 +000015; CHECK-NOT: NULL
David Blaikie3b6038b2013-05-08 06:01:41 +000016; CHECK: [[I:0x[0-9a-f]*]]:{{ *}}DW_TAG_variable
David Blaikiefdabd482013-03-20 05:15:37 +000017; CHECK-NEXT: DW_AT_name{{.*}}= "i"
David Blaikie3b6038b2013-05-08 06:01:41 +000018; CHECK-NOT: NULL
David Blaikie3b6038b2013-05-08 06:01:41 +000019; CHECK: [[FOO:0x[0-9a-f]*]]:{{ *}}DW_TAG_structure_type
20; CHECK-NEXT: DW_AT_name{{.*}}= "foo"
21; CHECK-NEXT: DW_AT_declaration
22; CHECK-NOT: NULL
23; CHECK: [[BAR:0x[0-9a-f]*]]:{{ *}}DW_TAG_structure_type
24; CHECK-NEXT: DW_AT_name{{.*}}= "bar"
25; CHECK: NULL
David Blaikie3c2fff32014-05-27 18:37:48 +000026; CHECK: [[FUNC1:.*]]: DW_TAG_subprogram
27; CHECK-NOT: DW_TAG
28; CHECK: DW_AT_MIPS_linkage_name
29; CHECK-NOT: DW_TAG
30; CHECK: DW_AT_name{{.*}}= "f1"
31; CHECK: DW_TAG_subprogram
32; CHECK-NOT: DW_TAG
33; CHECK: DW_AT_MIPS_linkage_name
34; CHECK-NOT: DW_TAG
35; CHECK: DW_AT_name{{.*}}= "f1"
David Blaikie3b6038b2013-05-08 06:01:41 +000036; CHECK: NULL
37
38; CHECK-NOT: NULL
David Blaikie684fc532013-05-06 23:33:07 +000039; CHECK: DW_TAG_imported_module
40; This is a bug, it should be in F2 but it inherits the file from its
41; enclosing scope
42; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F1]])
David Blaikie3b6038b2013-05-08 06:01:41 +000043; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x08)
David Blaikie684fc532013-05-06 23:33:07 +000044; CHECK-NEXT: DW_AT_import{{.*}}=> {[[NS2]]})
David Blaikie6baa7762013-05-07 17:57:13 +000045; CHECK: NULL
46; CHECK-NOT: NULL
David Blaikie684fc532013-05-06 23:33:07 +000047
David Blaikie3c2fff32014-05-27 18:37:48 +000048; CHECK: DW_TAG_imported_module
49; Same bug as above, this should be F2, not F1
50; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F1]])
51; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x0b)
52; CHECK-NEXT: DW_AT_import{{.*}}=> {[[NS1]]})
53; CHECK-NOT: NULL
54
David Blaikief55abea2013-04-22 06:12:31 +000055; CHECK: DW_TAG_subprogram
David Blaikie2f753512014-05-23 21:11:46 +000056; CHECK-NOT: DW_TAG
57; CHECK: DW_AT_MIPS_linkage_name
58; CHECK-NOT: DW_TAG
59; CHECK: DW_AT_name{{.*}}= "func"
David Blaikief55abea2013-04-22 06:12:31 +000060; CHECK-NOT: NULL
61; CHECK: DW_TAG_imported_module
62; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
David Blaikie3b6038b2013-05-08 06:01:41 +000063; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x12)
David Blaikie684fc532013-05-06 23:33:07 +000064; CHECK-NEXT: DW_AT_import{{.*}}=> {[[NS1]]})
65; CHECK-NOT: NULL
David Blaikie3b6038b2013-05-08 06:01:41 +000066; CHECK: DW_TAG_imported_declaration
67; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
68; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x13)
69; CHECK-NEXT: DW_AT_import{{.*}}=> {[[FOO]]})
70; CHECK-NOT: NULL
71; CHECK: DW_TAG_imported_declaration
72; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
73; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x14)
74; CHECK-NEXT: DW_AT_import{{.*}}=> {[[BAR]]})
75; CHECK-NOT: NULL
76; CHECK: DW_TAG_imported_declaration
77; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
78; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x15)
79; CHECK-NEXT: DW_AT_import{{.*}}=> {[[FUNC1]]})
80; CHECK-NOT: NULL
81; CHECK: DW_TAG_imported_declaration
82; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
83; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x16)
84; CHECK-NEXT: DW_AT_import{{.*}}=> {[[I]]})
85; CHECK-NOT: NULL
David Blaikie2a40c142014-04-06 06:29:01 +000086; CHECK: [[X:0x[0-9a-f]*]]:{{ *}}DW_TAG_imported_declaration
David Blaikiee63d5d12013-05-20 22:50:35 +000087; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
88; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x18)
89; CHECK-NEXT: DW_AT_import{{.*}}=> {[[NS1]]})
90; CHECK-NEXT: DW_AT_name{{.*}}"X"
91; CHECK-NOT: NULL
David Blaikie2a40c142014-04-06 06:29:01 +000092; CHECK: DW_TAG_imported_declaration
David Blaikiee63d5d12013-05-20 22:50:35 +000093; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
94; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x19)
95; CHECK-NEXT: DW_AT_import{{.*}}=> {[[X]]})
96; CHECK-NEXT: DW_AT_name{{.*}}"Y"
97; CHECK-NOT: NULL
David Blaikie684fc532013-05-06 23:33:07 +000098; CHECK: DW_TAG_lexical_block
99; CHECK-NOT: NULL
100; CHECK: DW_TAG_imported_module
101; CHECK-NEXT: DW_AT_decl_file{{.*}}(0x0[[F2]])
David Blaikie3b6038b2013-05-08 06:01:41 +0000102; CHECK-NEXT: DW_AT_decl_line{{.*}}(0x0f)
David Blaikief55abea2013-04-22 06:12:31 +0000103; CHECK-NEXT: DW_AT_import{{.*}}=> {[[NS2]]})
David Blaikie6baa7762013-05-07 17:57:13 +0000104; CHECK: NULL
105; CHECK: NULL
David Blaikie3c2fff32014-05-27 18:37:48 +0000106; CHECK: NULL
David Blaikie684fc532013-05-06 23:33:07 +0000107
David Blaikie2881da72013-03-20 19:39:15 +0000108; CHECK: file_names[ [[F1]]]{{.*}}debug-info-namespace.cpp
109; CHECK: file_names[ [[F2]]]{{.*}}foo.cpp
David Blaikiefdabd482013-03-20 05:15:37 +0000110
111; IR generated from clang/test/CodeGenCXX/debug-info-namespace.cpp, file paths
David Blaikie3b6038b2013-05-08 06:01:41 +0000112; changed to protect the guilty. The C++ source code is:
David Blaikiefdabd482013-03-20 05:15:37 +0000113; namespace A {
David Blaikiea354eed2013-03-20 19:14:16 +0000114; #line 1 "foo.cpp"
115; namespace B {
David Blaikiefdabd482013-03-20 05:15:37 +0000116; int i;
David Blaikie3b6038b2013-05-08 06:01:41 +0000117; void f1() { }
118; void f1(int) { }
119; struct foo;
120; struct bar { };
David Blaikiefdabd482013-03-20 05:15:37 +0000121; }
David Blaikie684fc532013-05-06 23:33:07 +0000122; using namespace B;
David Blaikiea354eed2013-03-20 19:14:16 +0000123; }
David Blaikief55abea2013-04-22 06:12:31 +0000124;
David Blaikie684fc532013-05-06 23:33:07 +0000125; using namespace A;
David Blaikie3b6038b2013-05-08 06:01:41 +0000126;
David Blaikie684fc532013-05-06 23:33:07 +0000127; int func(bool b) {
128; if (b) {
129; using namespace A::B;
130; return i;
131; }
132; using namespace A;
David Blaikie3b6038b2013-05-08 06:01:41 +0000133; using B::foo;
134; using B::bar;
135; using B::f1;
136; using B::i;
137; bar x;
David Blaikiee63d5d12013-05-20 22:50:35 +0000138; namespace X = A;
139; namespace Y = X;
140; return i + X::B::i + Y::B::i;
David Blaikief55abea2013-04-22 06:12:31 +0000141; }
David Blaikiefdabd482013-03-20 05:15:37 +0000142
David Blaikie3b6038b2013-05-08 06:01:41 +0000143%"struct.A::B::bar" = type { i8 }
144
David Blaikiea354eed2013-03-20 19:14:16 +0000145@_ZN1A1B1iE = global i32 0, align 4
David Blaikiefdabd482013-03-20 05:15:37 +0000146
David Blaikie684fc532013-05-06 23:33:07 +0000147; Function Attrs: nounwind uwtable
David Blaikie3b6038b2013-05-08 06:01:41 +0000148define void @_ZN1A1B2f1Ev() #0 {
149entry:
David Blaikiee63d5d12013-05-20 22:50:35 +0000150 ret void, !dbg !41
David Blaikie3b6038b2013-05-08 06:01:41 +0000151}
152
153; Function Attrs: nounwind uwtable
154define void @_ZN1A1B2f1Ei(i32) #0 {
155entry:
156 %.addr = alloca i32, align 4
157 store i32 %0, i32* %.addr, align 4
David Blaikiee63d5d12013-05-20 22:50:35 +0000158 call void @llvm.dbg.declare(metadata !{i32* %.addr}, metadata !42), !dbg !43
159 ret void, !dbg !43
David Blaikie3b6038b2013-05-08 06:01:41 +0000160}
161
162; Function Attrs: nounwind readnone
163declare void @llvm.dbg.declare(metadata, metadata) #1
164
165; Function Attrs: nounwind uwtable
David Blaikie684fc532013-05-06 23:33:07 +0000166define i32 @_Z4funcb(i1 zeroext %b) #0 {
David Blaikief55abea2013-04-22 06:12:31 +0000167entry:
David Blaikie684fc532013-05-06 23:33:07 +0000168 %retval = alloca i32, align 4
169 %b.addr = alloca i8, align 1
David Blaikie3b6038b2013-05-08 06:01:41 +0000170 %x = alloca %"struct.A::B::bar", align 1
David Blaikie684fc532013-05-06 23:33:07 +0000171 %frombool = zext i1 %b to i8
172 store i8 %frombool, i8* %b.addr, align 1
David Blaikiee63d5d12013-05-20 22:50:35 +0000173 call void @llvm.dbg.declare(metadata !{i8* %b.addr}, metadata !44), !dbg !45
174 %0 = load i8* %b.addr, align 1, !dbg !46
175 %tobool = trunc i8 %0 to i1, !dbg !46
176 br i1 %tobool, label %if.then, label %if.end, !dbg !46
David Blaikie684fc532013-05-06 23:33:07 +0000177
178if.then: ; preds = %entry
David Blaikiee63d5d12013-05-20 22:50:35 +0000179 %1 = load i32* @_ZN1A1B1iE, align 4, !dbg !47
180 store i32 %1, i32* %retval, !dbg !47
181 br label %return, !dbg !47
David Blaikie684fc532013-05-06 23:33:07 +0000182
183if.end: ; preds = %entry
David Blaikiee63d5d12013-05-20 22:50:35 +0000184 call void @llvm.dbg.declare(metadata !{%"struct.A::B::bar"* %x}, metadata !48), !dbg !49
185 %2 = load i32* @_ZN1A1B1iE, align 4, !dbg !50
186 %3 = load i32* @_ZN1A1B1iE, align 4, !dbg !50
187 %add = add nsw i32 %2, %3, !dbg !50
188 %4 = load i32* @_ZN1A1B1iE, align 4, !dbg !50
189 %add1 = add nsw i32 %add, %4, !dbg !50
190 store i32 %add1, i32* %retval, !dbg !50
191 br label %return, !dbg !50
David Blaikie684fc532013-05-06 23:33:07 +0000192
193return: ; preds = %if.end, %if.then
David Blaikiee63d5d12013-05-20 22:50:35 +0000194 %5 = load i32* %retval, !dbg !51
195 ret i32 %5, !dbg !51
David Blaikief55abea2013-04-22 06:12:31 +0000196}
197
Bill Wendling187d3dd2013-08-22 21:28:54 +0000198attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
David Blaikie684fc532013-05-06 23:33:07 +0000199attributes #1 = { nounwind readnone }
David Blaikief55abea2013-04-22 06:12:31 +0000200
David Blaikiefdabd482013-03-20 05:15:37 +0000201!llvm.dbg.cu = !{!0}
Manman Ren409558f2013-11-22 21:49:45 +0000202!llvm.module.flags = !{!52}
David Blaikiefdabd482013-03-20 05:15:37 +0000203
David Blaikie3b6038b2013-05-08 06:01:41 +0000204!0 = metadata !{i32 786449, metadata !1, i32 4, metadata !"clang version 3.4 ", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !3, metadata !19, metadata !21, metadata !""} ; [ DW_TAG_compile_unit ] [/usr/local/google/home/blaikie/dev/llvm/build/clang/debug//usr/local/google/home/blaikie/dev/llvm/src/tools/clang/test/CodeGenCXX/debug-info-namespace.cpp] [DW_LANG_C_plus_plus]
205!1 = metadata !{metadata !"/usr/local/google/home/blaikie/dev/llvm/src/tools/clang/test/CodeGenCXX/debug-info-namespace.cpp", metadata !"/usr/local/google/home/blaikie/dev/llvm/build/clang/debug"}
David Blaikie9ba72542014-05-14 21:52:46 +0000206!2 = metadata !{}
David Blaikie3b6038b2013-05-08 06:01:41 +0000207!3 = metadata !{metadata !4, metadata !10, metadata !14}
208!4 = metadata !{i32 786478, metadata !5, metadata !6, metadata !"f1", metadata !"f1", metadata !"_ZN1A1B2f1Ev", i32 3, metadata !8, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, void ()* @_ZN1A1B2f1Ev, null, null, metadata !2, i32 3} ; [ DW_TAG_subprogram ] [line 3] [def] [f1]
209!5 = metadata !{metadata !"foo.cpp", metadata !"/usr/local/google/home/blaikie/dev/llvm/build/clang/debug"}
210!6 = metadata !{i32 786489, metadata !5, metadata !7, metadata !"B", i32 1} ; [ DW_TAG_namespace ] [B] [line 1]
211!7 = metadata !{i32 786489, metadata !1, null, metadata !"A", i32 3} ; [ DW_TAG_namespace ] [A] [line 3]
Manman Rendeeafd82013-09-06 21:03:58 +0000212!8 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !9, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
David Blaikie3b6038b2013-05-08 06:01:41 +0000213!9 = metadata !{null}
214!10 = metadata !{i32 786478, metadata !5, metadata !6, metadata !"f1", metadata !"f1", metadata !"_ZN1A1B2f1Ei", i32 4, metadata !11, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, void (i32)* @_ZN1A1B2f1Ei, null, null, metadata !2, i32 4} ; [ DW_TAG_subprogram ] [line 4] [def] [f1]
Manman Rendeeafd82013-09-06 21:03:58 +0000215!11 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !12, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
David Blaikie3b6038b2013-05-08 06:01:41 +0000216!12 = metadata !{null, metadata !13}
217!13 = metadata !{i32 786468, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
218!14 = metadata !{i32 786478, metadata !5, metadata !15, metadata !"func", metadata !"func", metadata !"_Z4funcb", i32 13, metadata !16, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, i32 (i1)* @_Z4funcb, null, null, metadata !2, i32 13} ; [ DW_TAG_subprogram ] [line 13] [def] [func]
219!15 = metadata !{i32 786473, metadata !5} ; [ DW_TAG_file_type ] [/usr/local/google/home/blaikie/dev/llvm/build/clang/debug/foo.cpp]
Manman Rendeeafd82013-09-06 21:03:58 +0000220!16 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !17, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
David Blaikie3b6038b2013-05-08 06:01:41 +0000221!17 = metadata !{metadata !13, metadata !18}
222!18 = metadata !{i32 786468, null, null, metadata !"bool", i32 0, i64 8, i64 8, i64 0, i32 0, i32 2} ; [ DW_TAG_base_type ] [bool] [line 0, size 8, align 8, offset 0, enc DW_ATE_boolean]
223!19 = metadata !{metadata !20}
224!20 = metadata !{i32 786484, i32 0, metadata !6, metadata !"i", metadata !"i", metadata !"_ZN1A1B1iE", metadata !15, i32 2, metadata !13, i32 0, i32 1, i32* @_ZN1A1B1iE, null} ; [ DW_TAG_variable ] [i] [line 2] [def]
David Blaikiee63d5d12013-05-20 22:50:35 +0000225!21 = metadata !{metadata !22, metadata !23, metadata !24, metadata !26, metadata !27, metadata !29, metadata !37, metadata !38, metadata !39, metadata !40}
David Blaikie3b6038b2013-05-08 06:01:41 +0000226!22 = metadata !{i32 786490, metadata !7, metadata !6, i32 8} ; [ DW_TAG_imported_module ]
227!23 = metadata !{i32 786490, metadata !0, metadata !7, i32 11} ; [ DW_TAG_imported_module ]
228!24 = metadata !{i32 786490, metadata !25, metadata !6, i32 15} ; [ DW_TAG_imported_module ]
229!25 = metadata !{i32 786443, metadata !5, metadata !14, i32 14, i32 0, i32 0} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/blaikie/dev/llvm/build/clang/debug/foo.cpp]
230!26 = metadata !{i32 786490, metadata !14, metadata !7, i32 18} ; [ DW_TAG_imported_module ]
231!27 = metadata !{i32 786440, metadata !14, metadata !28, i32 19} ; [ DW_TAG_imported_declaration ]
Manman Ren0ed70ae2013-08-26 22:39:55 +0000232!28 = metadata !{i32 786451, metadata !5, metadata !6, metadata !"foo", i32 5, i64 0, i64 0, i32 0, i32 4, null, null, i32 0, null, null, null} ; [ DW_TAG_structure_type ] [foo] [line 5, size 0, align 0, offset 0] [decl] [from ]
David Blaikie3b6038b2013-05-08 06:01:41 +0000233!29 = metadata !{i32 786440, metadata !14, metadata !30, i32 20} ; [ DW_TAG_imported_declaration ]
Manman Ren0ed70ae2013-08-26 22:39:55 +0000234!30 = metadata !{i32 786451, metadata !5, metadata !6, metadata !"bar", i32 6, i64 8, i64 8, i32 0, i32 0, null, metadata !31, i32 0, null, null, null} ; [ DW_TAG_structure_type ] [bar] [line 6, size 8, align 8, offset 0] [def] [from ]
David Blaikie3b6038b2013-05-08 06:01:41 +0000235!31 = metadata !{metadata !32}
236!32 = metadata !{i32 786478, metadata !5, metadata !30, metadata !"bar", metadata !"bar", metadata !"", i32 6, metadata !33, i1 false, i1 false, i32 0, i32 0, null, i32 320, i1 false, null, null, i32 0, metadata !36, i32 6} ; [ DW_TAG_subprogram ] [line 6] [bar]
Manman Rendeeafd82013-09-06 21:03:58 +0000237!33 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !34, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
David Blaikie3b6038b2013-05-08 06:01:41 +0000238!34 = metadata !{null, metadata !35}
Manman Rendeeafd82013-09-06 21:03:58 +0000239!35 = metadata !{i32 786447, i32 0, null, metadata !"", i32 0, i64 64, i64 64, i64 0, i32 1088, metadata !30} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [artificial] [from bar]
David Blaikie3b6038b2013-05-08 06:01:41 +0000240!36 = metadata !{i32 786468}
241!37 = metadata !{i32 786440, metadata !14, metadata !10, i32 21} ; [ DW_TAG_imported_declaration ]
242!38 = metadata !{i32 786440, metadata !14, metadata !20, i32 22} ; [ DW_TAG_imported_declaration ]
David Blaikie2a40c142014-04-06 06:29:01 +0000243!39 = metadata !{i32 786440, metadata !14, metadata !7, i32 24, metadata !"X"} ; [ DW_TAG_imported_declaration ]
244!40 = metadata !{i32 786440, metadata !14, metadata !39, i32 25, metadata !"Y"} ; [ DW_TAG_imported_declaration ]
David Blaikiee63d5d12013-05-20 22:50:35 +0000245!41 = metadata !{i32 3, i32 0, metadata !4, null}
246!42 = metadata !{i32 786689, metadata !10, metadata !"", metadata !15, i32 16777220, metadata !13, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [line 4]
247!43 = metadata !{i32 4, i32 0, metadata !10, null}
248!44 = metadata !{i32 786689, metadata !14, metadata !"b", metadata !15, i32 16777229, metadata !18, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [b] [line 13]
249!45 = metadata !{i32 13, i32 0, metadata !14, null}
250!46 = metadata !{i32 14, i32 0, metadata !14, null}
251!47 = metadata !{i32 16, i32 0, metadata !25, null}
252!48 = metadata !{i32 786688, metadata !14, metadata !"x", metadata !15, i32 23, metadata !30, i32 0, i32 0} ; [ DW_TAG_auto_variable ] [x] [line 23]
253!49 = metadata !{i32 23, i32 0, metadata !14, null}
254!50 = metadata !{i32 26, i32 0, metadata !14, null}
255!51 = metadata !{i32 27, i32 0, metadata !14, null}
Manman Ren409558f2013-11-22 21:49:45 +0000256!52 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}