@wallhackio
<- Pretends that C23 doesn't exist
@wallhackio To be fair, the computers that I care about programming usually only have an ANSI C compiler, so I must program in ANSI C and not in a later version of C...
@vaporeon_ I was complaining about JavaScript. The ECMAScript standard has required proper tail call optimization since 2015 and the engine used by Safari is the only major runtime to implement this
@wallhackio @vaporeon_ funnily enough, C has no requirement fur tail call optimization, but gcc and clang recognize at least some cases where they can do it and just will
@aescling @wallhackio Gets turned into infinite loop that does nothing except jumping back to its own start, do I understand correctly?
@vaporeon_ @wallhackio yeah
@aescling @wallhackio But only if the compiler has implemented that kind of optimisation and decided to apply it here, otherwise you'll overflow the stack with an infinite amount of return pointers... C programmers would instead write while (1); or loop: goto loop;...
@wallhackio @vaporeon_ like if you compile
void foo(void) { foo(); }the compiler will purrobably just turn that into an unconditional jump instruction