Chris Lattner | 4446617 | 2003-07-25 21:09:20 +0000 | [diff] [blame] | 1 | ; RUN: analyze %s -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=X:GM |
Chris Lattner | 69134dc | 2003-06-30 15:17:39 +0000 | [diff] [blame] | 2 | |
| 3 | %G = internal global int 5 |
| 4 | |
| 5 | implementation |
| 6 | |
| 7 | internal void %leaf(int *%X) { |
| 8 | store int 0, int* %X |
| 9 | ret void |
| 10 | } |
Chris Lattner | 7d63ac6 | 2003-07-01 16:28:32 +0000 | [diff] [blame] | 11 | internal void %leaf2(int* %X) { ret void } |
Chris Lattner | 69134dc | 2003-06-30 15:17:39 +0000 | [diff] [blame] | 12 | |
| 13 | internal void %intermediate(void(int*)* %Fn, int* %Ptr) { |
| 14 | call void %Fn(int* %Ptr) |
| 15 | ret void |
| 16 | } |
| 17 | |
| 18 | int %main() { |
| 19 | call void %intermediate(void(int*)* %leaf, int* %G) |
Chris Lattner | 7d63ac6 | 2003-07-01 16:28:32 +0000 | [diff] [blame] | 20 | call void %intermediate(void(int*)* %leaf2, int* %G) |
| 21 | call void %intermediate(void(int*)* %leaf, int* %G) |
| 22 | call void %intermediate(void(int*)* %leaf2, int* %G) |
Chris Lattner | 69134dc | 2003-06-30 15:17:39 +0000 | [diff] [blame] | 23 | ret int 0 |
| 24 | } |