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