blob: ae358b23053d9209f16cfb7dce3cfd880d7ca941 [file] [log] [blame]
// Expect 1 errors (with f_one(int), f_two, f_three in cycle)
// Complex recursion spanning several functions with overloads, etc.
void f_one(bool b);
void f_one(int n);
void f_two(int n);
void f_three(int n);
void f_four(int n);
void f_one(bool b) {
int n = b ? 1 : 0;
f_one(n);
}
void f_one(int n) {
if (n > 0) {
f_four(n);
} else {
f_two(n);
}
}
void f_two(int n) {
for (int i = 0; i < 4; ++i) {
f_three(n);
}
}
void f_three(int n) {
f_one(n);
}
void f_four(int n) {}
/*%%*
potential recursion (function call cycle) not allowed:
void f_one(int n)
void f_two(int n)
void f_three(int n)
void f_one(int n)
*%%*/