IR: Move MDLocation into place
[oota-llvm.git] / test / Linker / 2011-08-04-Metadata.ll
1 ; RUN: llvm-link %s %p/2011-08-04-Metadata2.ll -o %t.bc
2 ; RUN: llvm-dis < %t.bc | FileCheck %s
3 ; Test if internal global variable's debug info is merged appropriately or not.
4
5 ;CHECK:   !"0x34\00x\00x\00\002\001\001", !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, i32* @x}
6 ;CHECK:   !"0x34\00x\00x\00\001\001\001", !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, i32* @x1}
7 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
8 target triple = "x86_64-apple-macosx10.7.0"
9
10 @x = internal global i32 0, align 4
11
12 define void @foo() nounwind uwtable ssp {
13 entry:
14   store i32 1, i32* @x, align 4, !dbg !7
15   ret void, !dbg !7
16 }
17
18 !llvm.dbg.cu = !{!0}
19 !llvm.module.flags = !{!11}
20 !llvm.dbg.sp = !{!1}
21 !llvm.dbg.gv = !{!5}
22
23 !0 = !{!"0x11\0012\00clang version 3.0 ()\001\00\000\00\000", !9, !4, !4, !10, null, null} ; [ DW_TAG_compile_unit ]
24 !1 = !{!"0x2e\00foo\00foo\00\003\000\001\000\006\000\000\000", !9, !2, !3, null, void ()* @foo, null, null, null} ; [ DW_TAG_subprogram ] [line 3] [def] [scope 0] [foo]
25 !2 = !{!"0x29", !9} ; [ DW_TAG_file_type ]
26 !3 = !{!"0x15\00\000\000\000\000\000\000", !9, !2, null, !4, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
27 !4 = !{null}
28 !5 = !{!"0x34\00x\00x\00\002\001\001", !0, !2, !6, i32* @x} ; [ DW_TAG_variable ]
29 !6 = !{!"0x24\00int\000\0032\0032\000\000\005", null, !0} ; [ DW_TAG_base_type ]
30 !7 = !MDLocation(line: 3, column: 14, scope: !8)
31 !8 = !{!"0xb\003\0012\000", !9, !1} ; [ DW_TAG_lexical_block ]
32 !9 = !{!"/tmp/one.c", !"/Volumes/Lalgate/Slate/D"}
33 !10 = !{!1}
34 !11 = !{i32 1, !"Debug Info Version", i32 2}