blob: 3eb61d41a41a998b988a16ef71eb03ade49f2ac3 [file] [log] [blame]
Chris Lattner6a7096e2002-10-09 17:44:34 +00001; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved
2; correctly.
Chris Lattnerd03de902002-08-19 19:08:52 +00003;
Chris Lattner5199e162002-10-09 20:55:32 +00004; RUN: if as < %s | opt -funcresolve > /dev/null
5; RUN: then echo "opt ok"
6; RUN: else exit 1 # Make sure opt doesn't abort!
7; RUN: fi
8;
Chris Lattner6a7096e2002-10-09 17:44:34 +00009; RUN: if as < %s | opt -funcresolve | dis | grep external
Chris Lattnerd03de902002-08-19 19:08:52 +000010; RUN: then exit 1
11; RUN: else exit 0
12; RUN: fi
13;
14
Chris Lattner2ff93432003-04-19 00:17:11 +000015%X = external global [0 x int]
Chris Lattner6a7096e2002-10-09 17:44:34 +000016%X = global [4 x int] [ int 1, int 2, int 3, int 4 ]
Chris Lattnerd03de902002-08-19 19:08:52 +000017
18implementation ; Functions:
19
20int %foo(int %x) {
21bb1: ;[#uses=0]
Chris Lattner2ff93432003-04-19 00:17:11 +000022 store int 5, int* getelementptr ([0 x int]* %X, long 0, long 2)
23 %F = getelementptr [0 x int]* %X, long 0, long 2
Chris Lattner6a7096e2002-10-09 17:44:34 +000024 %val = load int* %F
25 ret int %val
Chris Lattnerd03de902002-08-19 19:08:52 +000026}
27