1
1
openmpi/ompi/mpi/fortran/use-mpi-tkr
Jeff Squyres 0089ac20af Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module
Older gfortran compilers (e.g., the gfortran that ships in RHEL5) do
not support ISO_C_BINDING, and therefore do not support the
TYPE(C_PTR) type.  As such, they cannot support the overloaded
interfaces for MPI_WIN_ALLOCATE_SHARED and MPI_SHARED_QUERY that are
mandated in MPI-3.

So we separate those interfaces out into a separate .F90 file that is
#include'd in the tkr mpi.F90 file.  In this separate .F90 file, we
use an #if to determine whether the compiler supports ISO_C_BINDING or
not.

Also re-jiggered the order of testing in ompi_setup_mpi_fortran.m4: we
now need to test whether the compiler supports ISO_C_BINDING even when
we're only building the mpi module (not strictly when we're building
the mpi_f08 module).

Finally, tweaked the use-mpi-tkr/Makefile.am to:

* Add some proper dependencies for mpi.F90
* Allow the general AM compilation to be used instead of supplying a
  specific rule for compiling mpi.F90

cmr=v1.8.2:ticket=trac:4736

This commit was SVN r32204.

The following Trac tickets were found above:
  Ticket 4736 --> https://svn.open-mpi.org/trac/ompi/ticket/4736
2014-07-10 19:10:03 +00:00
..
test == Highlights == 2012-04-18 15:57:29 +00:00
fortran_kinds.sh.in Remove even more dead Fortran configury. 2014-01-11 14:06:59 +00:00
fortran_sizes.h.in Fixes from Ake Sandgren for MPI_SIZEOF for the TKR mpi module 2012-10-02 16:29:06 +00:00
Makefile.am Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module 2014-07-10 19:10:03 +00:00
mpi_comm_spawn_multiple_f90.f90 Fortran: remove the scripts from the use-mpi-tkr implementation 2014-06-19 13:35:30 +00:00
mpi_sizeof.f90 Fortran use-mpi-tkr: remove real*16 and complex*32 (for now) 2014-06-19 18:12:53 +00:00
mpi_testall_f90.f90 Fortran: remove the scripts from the use-mpi-tkr implementation 2014-06-19 13:35:30 +00:00
mpi_testsome_f90.f90 Fortran: remove the scripts from the use-mpi-tkr implementation 2014-06-19 13:35:30 +00:00
mpi_waitall_f90.f90 Fortran: remove the scripts from the use-mpi-tkr implementation 2014-06-19 13:35:30 +00:00
mpi_waitsome_f90.f90 Fortran: remove the scripts from the use-mpi-tkr implementation 2014-06-19 13:35:30 +00:00
mpi_wtick_f90.f90 Fortran: remove the scripts from the use-mpi-tkr implementation 2014-06-19 13:35:30 +00:00
mpi_wtime_f90.f90 Fortran: remove the scripts from the use-mpi-tkr implementation 2014-06-19 13:35:30 +00:00
mpi-f90-cptr-interfaces.F90 Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module 2014-07-10 19:10:03 +00:00
mpi-f90-interfaces.h Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module 2014-07-10 19:10:03 +00:00
mpi.F90 Fortran: put type(c_ptr) interfaces in a separate file in the TKR mpi module 2014-07-10 19:10:03 +00:00