Reid Spencer | e829e92 | 2007-05-18 03:46:50 +0000 | [diff] [blame] | 1 | ; Test linking of a bc file to an archive via llvm-ld. |
| 2 | ; PR1434 |
Michael J. Spencer | 6990433 | 2011-01-16 20:52:58 +0000 | [diff] [blame] | 3 | ; RUN: rm %t.bar.a %t.foo.a |
Dan Gohman | fea1dd0 | 2009-08-25 15:38:29 +0000 | [diff] [blame] | 4 | ; RUN: llvm-as %s -o %t.bar.bc |
Reid Spencer | e829e92 | 2007-05-18 03:46:50 +0000 | [diff] [blame] | 5 | ; RUN: echo {define i32* @foo(i32 %x) \{ ret i32* @baz \} \ |
Dan Gohman | fea1dd0 | 2009-08-25 15:38:29 +0000 | [diff] [blame] | 6 | ; RUN: @baz = external global i32 } | llvm-as -o %t.foo.bc |
Duncan Sands | accdef2 | 2008-06-27 10:52:12 +0000 | [diff] [blame] | 7 | ; RUN: llvm-ar rcf %t.foo.a %t.foo.bc |
| 8 | ; RUN: llvm-ar rcf %t.bar.a %t.bar.bc |
Reid Spencer | e829e92 | 2007-05-18 03:46:50 +0000 | [diff] [blame] | 9 | ; RUN: llvm-ld -disable-opt %t.bar.bc %t.foo.a -o %t.bc |
| 10 | ; RUN: llvm-ld -disable-opt %t.foo.bc %t.bar.a -o %t.bc |
| 11 | declare i32* @foo(...) |
| 12 | define i32* @bar() { |
| 13 | %ret = call i32* (...)* @foo( i32 123 ) |
| 14 | ret i32* %ret |
| 15 | } |
| 16 | @baz = global i32 0 |