1*73976f62SLang Hames; RUN: lli -jit-kind=orc-lazy -extra-module %p/Inputs/weak-function-2.ll %s
2*73976f62SLang Hames;
3*73976f62SLang Hames; Check that functions in two different modules agree on the address of weak
4*73976f62SLang Hames; function 'baz'
5*73976f62SLang Hames
6*73976f62SLang Hamesdefine linkonce_odr i32 @baz() {
7*73976f62SLang Hamesentry:
8*73976f62SLang Hames  ret i32 0
9*73976f62SLang Hames}
10*73976f62SLang Hames
11*73976f62SLang Hamesdefine i8* @foo() {
12*73976f62SLang Hamesentry:
13*73976f62SLang Hames  ret i8* bitcast (i32 ()* @baz to i8*)
14*73976f62SLang Hames}
15*73976f62SLang Hames
16*73976f62SLang Hamesdeclare i8* @bar()
17*73976f62SLang Hames
18*73976f62SLang Hamesdefine i32 @main(i32 %argc, i8** %argv) {
19*73976f62SLang Hamesentry:
20*73976f62SLang Hames  %call = tail call i8* @foo()
21*73976f62SLang Hames  %call1 = tail call i8* @bar()
22*73976f62SLang Hames  %cmp = icmp ne i8* %call, %call1
23*73976f62SLang Hames  %conv = zext i1 %cmp to i32
24*73976f62SLang Hames  ret i32 %conv
25*73976f62SLang Hames}
26*73976f62SLang Hames
27