Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2166 Discussions

Intel MPI's mpif.h not standard-conforming

Harald1
New Contributor II
797 Views

Hello,

when including Intel's mpif.h and enabling strict standard conformance checks, this fails to compile:

implicit none
include "/opt/intel/oneapi/mpi/2021.7.1/include/mpif.h"
end

This gives:

% ifort test.f90 -e03
/opt/intel/oneapi/mpi/2021.7.1/include/mpif.h(82): error #7346: The CHARACTER* form of a CHARACTER declaration is an obsolescent feature in Fortran 2003.
       CHARACTER*1 MPI_ARGVS_NULL(1,1)
-----------------^
/opt/intel/oneapi/mpi/2021.7.1/include/mpif.h(83): error #7346: The CHARACTER* form of a CHARACTER declaration is an obsolescent feature in Fortran 2003.
       CHARACTER*1 MPI_ARGV_NULL(1)
-----------------^
/opt/intel/oneapi/mpi/2021.7.1/include/mpif.h(594): error #6916: Fortran 2003 does not allow this length specification.   [8]
       integer*8 MPI_DISPLACEMENT_CURRENT
---------------^
/opt/intel/oneapi/mpi/2021.7.1/include/mpif.h(612): error #6916: Fortran 2003 does not allow this length specification.   [8]
       REAL*8 MPI_WTIME, MPI_WTICK
------------^
/opt/intel/oneapi/mpi/2021.7.1/include/mpif.h(613): error #6916: Fortran 2003 does not allow this length specification.   [8]
       REAL*8 PMPI_WTIME, PMPI_WTICK
------------^
compilation aborted for test.f90 (code 1)

There are standard-conforming ways for the affected declarations, see e.g. OpenMPI's include files or the MPI 3.1 reference documents.

It would be great if this could be addressed so that legacy code that still relies on mpif.h can be compiled with strict checks.

Thanks,

Harald

 

0 Kudos
1 Reply
Barbara_P_Intel
Moderator
783 Views

MPI support is via the HPC Toolkit Forum. Moving this there.

 

0 Kudos
Reply