2003-07-25 21:09:20 +00:00
|
|
|
; RUN: analyze %s -datastructure-gc -dsgc-dspass=td -dsgc-check-flags=X:GM
|
2003-06-30 15:17:39 +00:00
|
|
|
|
|
|
|
%G = internal global int 5
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
internal void %leaf(int *%X) {
|
|
|
|
store int 0, int* %X
|
|
|
|
ret void
|
|
|
|
}
|
2003-07-01 16:28:32 +00:00
|
|
|
internal void %leaf2(int* %X) { ret void }
|
2003-06-30 15:17:39 +00:00
|
|
|
|
|
|
|
internal void %intermediate(void(int*)* %Fn, int* %Ptr) {
|
|
|
|
call void %Fn(int* %Ptr)
|
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|
|
|
|
int %main() {
|
|
|
|
call void %intermediate(void(int*)* %leaf, int* %G)
|
2003-07-01 16:28:32 +00:00
|
|
|
call void %intermediate(void(int*)* %leaf2, int* %G)
|
|
|
|
call void %intermediate(void(int*)* %leaf, int* %G)
|
|
|
|
call void %intermediate(void(int*)* %leaf2, int* %G)
|
2003-06-30 15:17:39 +00:00
|
|
|
ret int 0
|
|
|
|
}
|