2007-01-28 05:09:03 +08:00
|
|
|
; Test linking two functions with different prototypes and two globals
|
2007-01-31 00:16:01 +08:00
|
|
|
; in different modules. This is for PR411
|
2007-01-28 05:09:03 +08:00
|
|
|
; RUN: llvm-as %s -o %t.bar.bc -f
|
2007-04-17 01:36:08 +08:00
|
|
|
; RUN: echo {define i32* @foo(i32 %x) \{ ret i32* @baz \} \
|
|
|
|
; RUN: @baz = external global i32 } | llvm-as -o %t.foo.bc -f
|
2007-01-28 05:10:35 +08:00
|
|
|
; RUN: llvm-link %t.bar.bc %t.foo.bc -o %t.bc -f
|
|
|
|
; RUN: llvm-link %t.foo.bc %t.bar.bc -o %t.bc -f
|
2007-01-28 05:09:03 +08:00
|
|
|
declare i32* @foo(...)
|
|
|
|
define i32* @bar() {
|
|
|
|
%ret = call i32* (...)* @foo( i32 123 )
|
|
|
|
ret i32* %ret
|
|
|
|
}
|
|
|
|
@baz = global i32 0
|