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

--- Comment #26 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
It could even allow tailcalls in the character(len=*) cases because in those
cases if the caller omits the string length hidden argument, I see no reason to
try to workaround that, it will simply never work properly.
The only reason without tailcalls things appear to work is that the argument is
TREE_READONLY and nothing touches it, so there is some hope it won't be
modified either, when doing a tailcall if the tail callee needs any of those
stack slots for other arguments, it will be written into.  We could still allow
tail calls
if the callee needs fewer arguments than the caller and doesn't need to
overwrite any of the hidden string length arguments the buggy callers don't
provide.

Reply via email to