[Developers] Not overriding the user's F77 specification

Tom Goodale goodale at aei-potsdam.mpg.de
Tue Jan 20 09:52:20 CST 2004



On Tue, 20 Jan 2004, Erik Schnetter wrote:

> --[PinePGP]--------------------------------------------------[begin]--
> On Tuesday 20 January 2004 11:36, Jonathan Thornburg wrote:
> > On Mon, 19 Jan 2004, Erik Schnetter wrote:
> > > I suggest to set F77 to F90 only if the user has not explicitly
> > > specified F77.  This is e.g. useful on the Regatta, where one wants
> > > to use different Fortran compilers for .f and .f90 files.
> >
> > On Mon, 19 Jan 2004, Tom Goodale wrote:
> > > If we do that, we should run the symbol name detector on both and
> > > stop on an error if the F77 and F90 compilers use different naming
> > > schemes.
> >
> > Why would we need to stop?  Why not use the F77 mangling when calling
> > F77 routines from C/C++ and the F90 mangling when calling F90
> > routines from C/C++?  Granted, having F77 call F90 or vice versa
> > probably wouldn't work, but being able to get between the C/C++ an
> > Fortran "universes" would I think still be useful.  Or am I missing
> > something obvious...?
>
> Fortran 90 is a superset of Fortran 77.  Your suggestion is, well, in a
> way similar to using different calling convertions for C and for extern
> "C" routines in C++...  When the Fortan 77 and the Fortran 90 compiler
> use different calling schemes, then they are incompatible.  I don't see
> much point in trying to work around that.
>
> But one important step that we do not take at the moment is checking
> whether the symbol name detector is correct.  For pgf90 and certain
> compiler flags it gets the scheme wrong.  Instead of grepping on the
> executable, it should try to compile and link actual code.

Can you enumerate when it gets it wrong ?  The only time I've seen it get
it wrong is when someone puts debug flags into the master compiler flags,
thus causing a duplication of strings in the object file.  If there are
other cases, can you let us know ?

Putting in an extra check for linking actual code would be good as a final
check.  We need to do that anyway to detect the size of variables in
Fortran (another case where the F77 and F90 compiler may conceivably be
different).

Tom

>
> -erik
>
> --
> Erik Schnetter <schnetter at aei.mpg.de>   http://www.aei.mpg.de/~eschnett/
>
> My email is as private as my paper mail.  I therefore support encrypting
> and signing email messages.  Get my PGP key from www.keyserver.net.
> --[PinePGP]-----------------------------------------------------------
> gpg: Signature made Tue 20 Jan 2004 02:53:25 PST using DSA key ID 09E8DDFD
> gpg: Good signature from "Erik Schnetter <schnetter at uni-tuebingen.de>"
> --[PinePGP]----------------------------------------------------[end]--
>



More information about the Developers mailing list