; RUN: analyze %s -datastructure-gc -dsgc-dspass=td -dsgc-abort-if-incomplete=X

%G = internal global int 5

implementation

internal void %leaf(int *%X) {
	store int 0, int* %X
	ret void
}

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)
	ret int 0
}

; RUN: analyze %s -datastructure-gc -dsgc-dspass=td -dsgc-abort-if-incomplete=X

%G = internal global int 5

implementation

internal void %leaf(int *%X) {
	store int 0, int* %X
	ret void
}
internal void %leaf2(int* %X) { ret void }

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)
	call void %intermediate(void(int*)* %leaf2, int* %G)
	call void %intermediate(void(int*)* %leaf, int* %G)
	call void %intermediate(void(int*)* %leaf2, int* %G)
	ret int 0
}

Make testcase a bit more interesting
Make testcase a bit more interesting


git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@7033 91177308-0d34-0410-b5e6-96231b3b80d8
