https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121159
--- Comment #20 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #19 from Lukas Grätz <lukas.gra...@tu-darmstadt.de> --- [...] > It seems that SPARC supports tail calls, as the test case without > volatile/no_return compiles fine: > https://godbolt.org/z/6bffMheY1 > Does the following compile on your machine? It does at -O and beyond, both 32 and 64-bit, just not at -O0: tc.c: In function ‘test_5’: tc.c:9:28: error: cannot tail-call: target is not able to optimize the call into a sibling call 9 | [[gnu::musttail]] return fn_ptr (); | ^~~~~~~~~