summaryrefslogtreecommitdiff
path: root/test/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll')
-rw-r--r--test/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll b/test/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll
new file mode 100644
index 0000000000..e6f7b86160
--- /dev/null
+++ b/test/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVarsEasier.ll
@@ -0,0 +1,23 @@
+; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved
+; correctly. This doesn't have constantexprs
+;
+; RUN: if as < %s | opt -funcresolve | dis | grep external
+; RUN: then exit 1
+; RUN: else exit 0
+; RUN: fi
+;
+
+%X = external global int
+%X = global [4 x int] [ int 1, int 2, int 3, int 4 ]
+
+implementation ; Functions:
+
+int %foo(int %x) {
+bb1: ;[#uses=0]
+ %G = getelementptr int* %X, long 1
+ store int 5, int* %G
+ %F = getelementptr int* %X, long 2
+ %val = load int* %F
+ ret int %val
+}
+