1
1
openmpi/ompi/mpi/fortran
Themos Tsikas 4d126c16fa mpi/fortran: use conformant dummy names for Fortran bindings
The MPI spec defines that the "mpi" and "mpi_f08" module Fortran
bindings support passing by parameters by name.  Hence, we need to use
the MPI-spec-defined parameter names ("dummy variables", in Fortran
parlance) for the "mpi" and "mpi_f08" modules.

Specifically, Fortran allows calls to procedures to be written with
keyword arguments, e.g., "call mpi_sizeof(x=x,size=rsize,ierror=ier)"
An "explicit interface" for the procedure must be in scope for this to
be allowed in a Fortran program unit.  Therefore, the explicit
interface blocks we provide in the "mpi" and "mpi_f08" modules must
match the MPI published standard, including the names of the dummy
variables (i.e., parameter names), as that is how Fortran programs may
call them.

Note that we didn't find this issue previously because even though the
MPI spec *allows* for name-based parameter passing, not many people
actually use it.  I suspect that we might have some more incorrect
parameter names -- we should probably do a full "mpi" / "mpi_f08"
module parameter name audit someday.

Thanks to Themos Tsikas for reporting the issue and supplying the
initial fix.

Signed-off-by: themos.tsikas@nag.co.uk
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2018-05-02 09:42:19 +09:00
..
base mpi/fortran: use conformant dummy names for Fortran bindings 2018-05-02 09:42:19 +09:00
mpiext mpiext: fix path to Fortran 2008 modules 2017-12-11 11:02:43 +09:00
mpif-h mpi/fortran: fix parsing arrays of Fortran strings 2018-04-04 18:56:44 -07:00
use-mpi-f08 mpi/fortran: use conformant dummy names for Fortran bindings 2018-05-02 09:42:19 +09:00
use-mpi-ignore-tkr mpi/fortran: use conformant dummy names for Fortran bindings 2018-05-02 09:42:19 +09:00
use-mpi-tkr mpi/fortran: use conformant dummy names for Fortran bindings 2018-05-02 09:42:19 +09:00
c_to_integer_kind_mapping.pdf Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
common_sym_whitelist.txt Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
configure-fortran-output-bottom.h Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
configure-fortran-output.h.in fortran: build MPI_Sizeof() interface in use-mpi-tkr bindings 2018-04-25 15:09:33 +09:00