; RUN: analyze %s -datastructure-gc --dsgc-abort-if-merged=Y,BVal implementation internal void %F1(int* %X) { %Y = alloca int store int 4, int* %Y %BVal = call int* %F2(int* %Y) ret void } internal int* %F2(int* %A) { %B = malloc int store int 4, int* %B call void %F1(int* %B) ret int* %B } int %main() { %Q = malloc int store int 4, int* %Q call void %F1(int* %Q) ret int 0 }