On 01/27/2014 03:28 PM, Åke Sandgren wrote:
Hi!

I just started trying to build 1.7.4rc1 with the new Pathscale EkoPath5
compiler and stumbled onto this.

When building without --enable-mpi-f08-subarray-prototype i get into
problems with ompi/mpi/fortran/use-mpi-f08/mpi-f-interfaces-bind.h

It defines
subroutine
ompi_comm_create_keyval_f(comm_copy_attr_fn,comm_delete_attr_fn, &
                                      comm_keyval,extra_state,ierror) &
    BIND(C, name="ompi_comm_create_keyval_f")
    use :: mpi_f08_types, only : MPI_ADDRESS_KIND
    use :: mpi_f08_interfaces_callbacks, only : MPI_Comm_copy_attr_function
    use :: mpi_f08_interfaces_callbacks, only :
MPI_Comm_delete_attr_function
    implicit none
    OMPI_PROCEDURE(MPI_Comm_copy_attr_function) :: comm_copy_attr_fn
    OMPI_PROCEDURE(MPI_Comm_delete_attr_function) :: comm_delete_attr_fn
    INTEGER, INTENT(OUT) :: comm_keyval
    INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: extra_state
    INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_comm_create_keyval_f

But at least the F2k3 specs says that
"Each dummy argument of an interoperable procedure or interface must be
an interoperable variable or an interoperable procedure."

The code above violates that since comm_copy_attr_fn is not
interoperable as far as i can see.
If I'm reading this wrong then please let me know...

The only definition of OMPI_PROCEDURE i can find is this one in
ompi/mpi/fortran/configure-fortran-output-bottom.h

#if OMPI_FORTRAN_HAVE_PROCEDURE
#define OMPI_PROCEDURE(name) PROCEDURE(name)
#else
#define OMPI_PROCEDURE(name) EXTERNAL
#endif

I currently don't have any F2k8 specs to check so if this is changed
there I'll try to get this sorted in the compiler.


According to people with the specs around F2k8 has the same restriction:
"C1255 (R1229) If proc-language-binding-spec is specified for a procedure, each of the procedure’s dummy arguments shall be a nonoptional interoperable variable (15.3.5, 15.3.6) or a nonoptional interoperable procedure (15.3.7)."

--
Ake Sandgren, HPC2N, Umea University, S-90187 Umea, Sweden
Internet: a...@hpc2n.umu.se   Phone: +46 90 7866134 Fax: +46 90 7866126
Mobile: +46 70 7716134 WWW: http://www.hpc2n.umu.se

Reply via email to