Re: [mpich-discuss] MPICH mpif.h incompatible with gfortran-4.8 -std=f2003
mpif.h is for F77 codes. Use the module for F90+. There is no point in fixing mpif.h for F03 because the solution already exists. The F08 bindings in MPI-3 are the long-term solution. Jeff Sent from my iPhone On Jun 28, 2013, at 5:21 PM, Jed Brown <[email protected]> wrote:
As shown below in SPECFEM3D, mpif.h cannot be included when using -std=f2003 with gfortran-4.8. I've Cc'd the MPICH list in case there is interest in converting mpif.h to be compatible with -std=f2003. Open MPI uses 'double precision' instead of 'real*8', rendering mpif.h safe to include.
On the SPECFEM side, I believe this can be handled by switching from including mpif.h to using the f90 mpi module.
configure:6665: /opt/mpich/bin/mpif90 -c -g -O2 -std=f2003 -fimplicit-none -frange-check -O2 -DFORCE_VECTORIZATION -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wam persand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -ffpe-trap=invalid,zero,overflow conftest.f90 >&5 mpif.h:16.18: Included at conftest.f90:4:
CHARACTER*1 MPI_ARGVS_NULL(1,1) 1 Warning: Obsolescent feature: Old-style character length at (1) mpif.h:17.18: Included at conftest.f90:4:
CHARACTER*1 MPI_ARGV_NULL(1) 1 Warning: Obsolescent feature: Old-style character length at (1) mpif.h:528.16: Included at conftest.f90:4:
integer*8 MPI_DISPLACEMENT_CURRENT 1 Error: GNU Extension: Nonstandard type declaration INTEGER*8 at (1) mpif.h:529.42: Included at conftest.f90:4:
PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278) 1 Error: Symbol 'mpi_displacement_current' at (1) has no IMPLICIT type mpif.h:546.13: Included at conftest.f90:4:
REAL*8 MPI_WTIME, MPI_WTICK 1 Error: GNU Extension: Nonstandard type declaration REAL*8 at (1) mpif.h:547.13: Included at conftest.f90:4:
REAL*8 PMPI_WTIME, PMPI_WTICK 1 Error: GNU Extension: Nonstandard type declaration REAL*8 at (1) mpif.h:550.18: Included at conftest.f90:4:
CHARACTER*1 PADS_A(3), PADS_B(3) 1 Warning: Obsolescent feature: Old-style character length at (1) configure:6665: $? = 1 configure: failed program was: | | program main | | include 'mpif.h' | integer, parameter :: CUSTOM_MPI_TYPE = MPI_REAL | integer ier | call MPI_INIT(ier) | call MPI_BARRIER(MPI_COMM_WORLD,ier) | call MPI_FINALIZE(ier) | | end | _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
participants (1)
-
Jeff Hammond