summaryrefslogtreecommitdiff
path: root/test/Linker/link-archive.ll
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-05-18 03:46:50 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-05-18 03:46:50 +0000
commite829e92edcc763ad527ab6d95bd6cb5610f38133 (patch)
treeead4e7b6323ca320ed294d7863af863266241eb0 /test/Linker/link-archive.ll
parente01236a9bbb895b9ebe02c023aa413f7038e469f (diff)
downloadllvm-e829e92edcc763ad527ab6d95bd6cb5610f38133.tar.gz
llvm-e829e92edcc763ad527ab6d95bd6cb5610f38133.tar.bz2
llvm-e829e92edcc763ad527ab6d95bd6cb5610f38133.tar.xz
Add a test case for PR1434
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37203 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Linker/link-archive.ll')
-rw-r--r--test/Linker/link-archive.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Linker/link-archive.ll b/test/Linker/link-archive.ll
new file mode 100644
index 0000000000..43cf3f36ca
--- /dev/null
+++ b/test/Linker/link-archive.ll
@@ -0,0 +1,15 @@
+; Test linking of a bc file to an archive via llvm-ld.
+; PR1434
+; RUN: llvm-as %s -o %t.bar.bc -f
+; RUN: echo {define i32* @foo(i32 %x) \{ ret i32* @baz \} \
+; RUN: @baz = external global i32 } | llvm-as -o %t.foo.bc -f
+; RUN: llvm-ar rf %t.foo.a %t.foo.bc
+; RUN: llvm-ar rf %t.bar.a %t.bar.bc
+; RUN: llvm-ld -disable-opt %t.bar.bc %t.foo.a -o %t.bc
+; RUN: llvm-ld -disable-opt %t.foo.bc %t.bar.a -o %t.bc
+declare i32* @foo(...)
+define i32* @bar() {
+ %ret = call i32* (...)* @foo( i32 123 )
+ ret i32* %ret
+}
+@baz = global i32 0