At 12:56 PM 2/1/2005, Anthony J. Ciani wrote:
>On Mon, 31 Jan 2005, Brian Barrett wrote:
>>On Jan 31, 2005, at 5:15 PM, Jonathan Herriott wrote:
>Umm, if you are using XLF, than just specify XLF as your FORTRAN compiler.
>The command mpif77 will then be a wrapper for XLF, which will compile all
>F77, F90, and F95 codes (possibly requiring some different flags for the
>different types of sources).
>
>This is also true if you are on Intel or AMD machines using ifort
>(formally ifc). I believe that even pgf90 will compile F77 code.
>
>If you want to have mixed compilers (g77 for F77 and something else for
>F90), then use a Makefile which compiles all the F77 code, then sets
>LAMHF77 to the F90 compiler and compiles those sources. You will almost
>certainly need to link with the F90 compiler, as they will usually include
>the GNU libraries, but GCC won't include the other compiler's stuff.
>
>I can't really think of any reason to do this, because g77 is worse for
>F77 than any of the F90 compilers, apart from pgf90 (which has
>interroperability problems with g77, making one use pgf90 anyway).
I don't get that part about pgf90 being the worst f77 compiler, and g77 the
2nd worst. Not that I want to discourage anyone from trying my employer's
compilers.
All of the above compilers will have inter-operability problems with g77,
due to the differences in defaults for number of appended underscores, and
the incompatible run-time libraries. gfortran likewise. All of them (not
sure of XLF) have a high degree of compatibility with g77 source code, more
than just what is implied in the Fortran standards. One Fortran 95
compatible mpif77 is enough for one application. Would you attempt to
build a lam application with a combination of pre-K&R C, a K&R C, a C89, a
C99 version of mpicc, and likewise multiple C++ dialects?
Tim Prince
|