Marc:
I was just told that the development version of gcc:
heine:~/programs/gcc/gcc-mainline> /pkgs/gcc-mainline/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/pkgs/gcc-mainline/bin/gcc
COLLECT_LTO_WRAPPER=/pkgs/gcc-mainline/libexec/gcc/x86_64-pc-linux-gnu/15.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../../gcc-mainline/configure
--prefix=/pkgs/gcc-mainline --disable-multilib --enable-languages=c
--enable-checking=release
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 15.0.0 20240819 (experimental) (GCC)
supports a version of musttail with documentation source
============
@cindex @code{musttail} statement attribute
@item musttail
The @code{gnu::musttail} or @code{clang::musttail} attribute
can be applied to a @code{return} statement with a return-value expression
that is a function call. It asserts that the call must be a tail call that
does not allocate extra stack space, so it is safe to use tail recursion
to implement long running loops.
@smallexample
[[gnu::musttail]] return foo();
@end smallexample
If the compiler cannot generate a @code{musttail} tail call it will report
an error. On some targets tail calls may never be supported.
Tail calls cannot reference locals in memory, which may affect
builds without optimization when passing small structures, or passing
or returning large structures. Enabling @option{-O1} or @option{-O2} can
improve the success of tail calls.
@end table
============
Must I change any configuration or header files to try the musttail
attribute of gcc?
Brad