https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10837

--- Comment #22 from Lukas Grätz <lukas.gra...@tu-darmstadt.de> ---
I think the status should be changed into RESOLVED FIXED now. After PR 119483
and PR 121159 with GCC 16+ and 15.2+, tail call optimization is finally
possible for noreturn functions. Just use the musttail attribute introduced by
PR 83324.

For the example program, add "[[gnu::musttail]] return" (and to make it compile
with a recent gcc, you need to use the -ansi flag).

cat >tt.c <<EOF
void temp()
{
        [[gnu::musttail]] return abort();
}

void temp2() __attribute__((__noreturn__));
void temp1()
{
        [[gnu::musttail]] return temp2();
}

void temp3();

void temp4()
{
        [[gnu::musttail]] return temp3();
}
EOF
gcc -O3 -fomit-frame-pointer -ansi tt.c -S

Reply via email to