Until I mentioned it on the mailing list, noone had complained that we didn't
implement a calling convention compatible with g77. Unfortunately, people
seem to care, so I implemented it.
The g77 calling convention requires two things for function results that we
didn't do:
- scalar COMPLEX functions return via a hidden argument
- default REAL functions return a C double
I implemented this, but it is currently only enabled via a command-line
option. If we decide that this is the right way, I propose making
-fno-second-underscore the default also, as compatibility with g77 will then
not be required for this either.
If on the other hand we decide that the f2c calling convention should be the
default (I'm against it, see the PR's audit trail for a few arguments in both
ways), someone should implement the necessary fixes to those routines in
libgfortran that are affected by the calling conventions (i.e. those which can
be passed as an actual argument, and which are REAL*4 or COMPLEX).