// tail calls must occur even without explicit return // the test is to not overflow the stack @define foo(n) { if(n == 0) return; foo(n-1); } foo(10000);