Restore "Move metadata linking after lazy global materialization/linking."
[oota-llvm.git] / test / Linker / 2004-05-07-TypeResolution1.ll
1 ; RUN: llvm-as %s -o %t1.bc
2 ; RUN: llvm-as < %p/2004-05-07-TypeResolution2.ll -o %t2.bc
3 ; RUN: llvm-link -o %t3.bc %t1.bc %t2.bc
4
5 target datalayout = "e-p:32:32"
6         %myint = type opaque
7         %struct1 = type { i32, void (%struct2*)*, %myint*, i32 (i32*)* }
8         %struct2 = type { %struct1 }
9 @driver1 = global %struct1 zeroinitializer              ; <%struct1*> [#uses=1]
10 @m1 = external global [1 x i8]*         ; <[1 x i8]**> [#uses=0]
11 @str1 = constant [1 x i8] zeroinitializer               ; <[1 x i8]*> [#uses=0]
12 @str2 = constant [2 x i8] zeroinitializer               ; <[2 x i8]*> [#uses=0]
13 @str3 = constant [3 x i8] zeroinitializer               ; <[3 x i8]*> [#uses=0]
14 @str4 = constant [4 x i8] zeroinitializer               ; <[4 x i8]*> [#uses=0]
15 @str5 = constant [5 x i8] zeroinitializer               ; <[5 x i8]*> [#uses=0]
16 @str6 = constant [6 x i8] zeroinitializer               ; <[6 x i8]*> [#uses=0]
17 @str7 = constant [7 x i8] zeroinitializer               ; <[7 x i8]*> [#uses=0]
18 @str8 = constant [8 x i8] zeroinitializer               ; <[8 x i8]*> [#uses=0]
19 @str9 = constant [9 x i8] zeroinitializer               ; <[9 x i8]*> [#uses=0]
20 @stra = constant [10 x i8] zeroinitializer              ; <[10 x i8]*> [#uses=0]
21 @strb = constant [11 x i8] zeroinitializer              ; <[11 x i8]*> [#uses=0]
22 @strc = constant [12 x i8] zeroinitializer              ; <[12 x i8]*> [#uses=0]
23 @strd = constant [13 x i8] zeroinitializer              ; <[13 x i8]*> [#uses=0]
24 @stre = constant [14 x i8] zeroinitializer              ; <[14 x i8]*> [#uses=0]
25 @strf = constant [15 x i8] zeroinitializer              ; <[15 x i8]*> [#uses=0]
26 @strg = constant [16 x i8] zeroinitializer              ; <[16 x i8]*> [#uses=0]
27 @strh = constant [17 x i8] zeroinitializer              ; <[17 x i8]*> [#uses=0]
28
29 declare void @func(%struct2*)
30
31 define void @tty_init() {
32 entry:
33         store volatile void (%struct2*)* @func, void (%struct2*)** getelementptr (%struct1, %struct1* @driver1, i64 0, i32 1)
34         ret void
35 }