aboutsummaryrefslogtreecommitdiff
path: root/test/Linker/AppendingLinkage.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Linker/AppendingLinkage.ll')
-rw-r--r--test/Linker/AppendingLinkage.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Linker/AppendingLinkage.ll b/test/Linker/AppendingLinkage.ll
new file mode 100644
index 000000000000..da08ca098893
--- /dev/null
+++ b/test/Linker/AppendingLinkage.ll
@@ -0,0 +1,15 @@
+; Test that appending linkage works correctly.
+
+; RUN: echo {@X = appending global \[1 x i32\] \[i32 8\] } | \
+; RUN: llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
+; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep 7 | grep 4 | grep 8
+
+@X = appending global [2 x i32] [ i32 7, i32 4 ] ; <[2 x i32]*> [#uses=2]
+@Y = global i32* getelementptr ([2 x i32]* @X, i64 0, i64 0) ; <i32**> [#uses=0]
+
+define void @foo(i64 %V) {
+ %Y = getelementptr [2 x i32]* @X, i64 0, i64 %V ; <i32*> [#uses=0]
+ ret void
+}
+