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

Janne Blomqvist <jb at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jb at gcc dot gnu.org

--- Comment #3 from Janne Blomqvist <jb at gcc dot gnu.org> ---
Ooof!

(Just for the record, I don't think we should revert to the previous behavior.
Whatever we do should be robust in the face of LTO etc.)

I'd rather not see extra command-line arguments. For something which modifies
the ABI and somehow works by accident part of the time, this is just too
difficult to keep track of for end users, IMHO.

My suggestions:

1) When compiling an external procedure, for character(len=1) arguments we
don't generate the hidden string length argument. And similarly when calling an
external procedure, if a len=1 character is passed, we omit the hidden string
length argument. This, I believe, is what Paul is suggesting in the previous
comment?

2) External procedures with character arguments are compiled and called as
varargs functions. This is what Thomas is suggesting, except unconditionally
and not controlled by an option.


I'm not really happy with either of these, but the third option, of fixing all
Fortran-calling code out there isn't realistic either.

Reply via email to