[MPI3 Fortran] Fwd: [Mpi-comments] MPI 3.0:Fortran 2008 interface - issue with the LOGICAL kind
Rolf Rabenseifner
rabenseifner at hlrs.de
Mon Mar 4 09:18:55 CST 2013
Malcolm and all MPI implementors,
and TOOLS implementors,
First Malcolm, thank you for your helpful answer.
After all the discussion, the MPI-3.0 errata decision is
very simple: Remove BIND(C) everywhere where LOGICAL is around.
I did it in the ticket #364
https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/364
I hope that one of the implementors with Fortran knowledge goes
through my proposal and returns an "okay" as a review on the ticket.
The major changes:
- BIND(C) removed on all callback abstract interfaces.
- BIND(C) removed on all predefined callbacks.
- Creating a new routine group "MPI_TEST" for all MPI routines
with LOGICAL arguments, except MPI_OP_CREATE, which is already
in an own group.
- Telling that the routines in the groups MPI_TEST,
MPI_OP_CREATE, MPI_REGISTER_DATEREP, and MPI_COMM_KEYVAL_CREATE
cannot be implemented with BIND(C) in Fortran 2008 + TS 29113 and earlier.
TOOLS implementors should be aware that I added this new routine group.
Best regards
Rolf
----- Original Message -----
> From: "Malcolm Cohen" <malcolm at nag-j.co.jp>
> To: "MPI-3 Fortran working group" <mpi3-fortran at lists.mpi-forum.org>
> Sent: Monday, March 4, 2013 3:56:50 AM
> Subject: Re: [MPI3 Fortran] Fwd: [Mpi-comments] MPI 3.0:Fortran 2008 interface - issue with the LOGICAL kind
> > (B1) Is it possible, that a BIND(C) routine
> > has a dummy argument that is a non-BIND(C)
> > ABSTRACT INTERFACE procedure argument?
>
> That is not possible: all dummy arguments of a BIND(C) routine must be
> interoperable - for procedures that requires BIND(C).
>
> It would be reasonable to extend C_FUNLOC and C_F_PROCPOINTER to
> permit
> non-interoperable procedures, similarly to how we permit
> non-interoperable
> variables in C_LOC and C_F_POINTER. Then the argument could be
> C_FUNPTR (by
> value). I don't know whether this would help you though.
>
> > (B2) Do we have any problem with
> > the TYPE(C_PTR), VALUE dummy arguments
> > in the ABSTRACT INTERFACE MPI_User_function
> > on MPI-3.0 page 183 line 45 - page 184 line 3
> > if the we remove the BIND(C) from this
> > ABSTRACT INTERFACE (i.e. on page 183, line 47).
>
> No problem.
>
> Cheers,
> --
> ................................Malcolm Cohen, Nihon NAG, Tokyo.
>
> _______________________________________________
> mpi3-fortran mailing list
> mpi3-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran
--
Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)
More information about the mpiwg-fortran
mailing list