https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90329
--- Comment #46 from Kaz Kylheku <kkylheku at gmail dot com> --- C pseudocode in light of previous comment: double abused_fortran_fn(double x, double y, char str[1], int len) { if (len != 1) return abused_fortran_fn(x, y, str, 1); /* full call, not tail! */ return tail_call_sibling(x, y, str, len); }