Столкнулся тут в работе с такой фишкой GCC: он ничего не имеет против бесконечных рекурсий:
#include <stdio.h>
int f()
{
return f();
}
int main()
{
printf("%d\n", f());
}
clang выдает ворнинг. Про компиляторы более надежных ЯП, чем С и С++ я даже молчу.