Chris Lattner | 6a7096e | 2002-10-09 17:44:34 +0000 | [diff] [blame] | 1 | ; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved |
| 2 | ; correctly. |
Chris Lattner | d03de90 | 2002-08-19 19:08:52 +0000 | [diff] [blame] | 3 | ; |
Chris Lattner | 5199e16 | 2002-10-09 20:55:32 +0000 | [diff] [blame] | 4 | ; 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 Lattner | 6a7096e | 2002-10-09 17:44:34 +0000 | [diff] [blame] | 9 | ; RUN: if as < %s | opt -funcresolve | dis | grep external |
Chris Lattner | d03de90 | 2002-08-19 19:08:52 +0000 | [diff] [blame] | 10 | ; RUN: then exit 1 |
| 11 | ; RUN: else exit 0 |
| 12 | ; RUN: fi |
| 13 | ; |
| 14 | |
Chris Lattner | 2ff9343 | 2003-04-19 00:17:11 +0000 | [diff] [blame^] | 15 | %X = external global [0 x int] |
Chris Lattner | 6a7096e | 2002-10-09 17:44:34 +0000 | [diff] [blame] | 16 | %X = global [4 x int] [ int 1, int 2, int 3, int 4 ] |
Chris Lattner | d03de90 | 2002-08-19 19:08:52 +0000 | [diff] [blame] | 17 | |
| 18 | implementation ; Functions: |
| 19 | |
| 20 | int %foo(int %x) { |
| 21 | bb1: ;[#uses=0] |
Chris Lattner | 2ff9343 | 2003-04-19 00:17:11 +0000 | [diff] [blame^] | 22 | 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 Lattner | 6a7096e | 2002-10-09 17:44:34 +0000 | [diff] [blame] | 24 | %val = load int* %F |
| 25 | ret int %val |
Chris Lattner | d03de90 | 2002-08-19 19:08:52 +0000 | [diff] [blame] | 26 | } |
| 27 | |