volatile int x; void __attribute__((noinline)) sink() { x++; //% self.filecheck("bt", "main.cpp") // CHECK-NOT: func{{[23]}} } void func2(); void __attribute__((noinline)) func1() { if (x < 1) func2(); else sink(); } void __attribute__((noinline)) func2() { if (x < 1) sink(); else func1(); } int main() { // Tail recursion creates ambiguous execution histories. x = 0; func1(); return 0; }