Re: [MPI3 Fortran] [Mpi-comments] MPI 3.0: Fortran 2008 interface - issue with the LOGICAL kind
My perspective was that the only functionality here is to specify an alternate external name for the Fortran procedure. I assume that the caller and callee are compiled with the same compiler, so that the issues around vendor-specific calling conventions are not a problem. (This is why I preferred the NAME( .. ) form, since it omits any concept of a binding different from the normal conventions for the processor, except the name.) Cheers, Bill On 3/21/13 2:13 PM, Tobias Burnus wrote:
Craig Rasmussen wrote:
BIND(FORTRAN, name="MPI_Test_f08") seems like a great idea. Unfortunately I can't find it in the Fortran standard :-(
I have to admit that I do not really see the advantage of having such a binding name. Surely, it voids issues to find out about the name mangling of a compiler. But besides the mangling, different compilers also handle other things differently: * Function results: By return value or as by-reference argument. Especially for COMPLEX * Handling of string lengths - especially for character arrays * Array descriptors - might be different from the TS29113 array descriptor * etc.
In case of BIND(C), most of the ABI issues is defined by the platform ABI together with the C standard, which mostly solves the interop issues between different C compiler and different Fortran compilers for BIND(C) procedures. But NAME()/Bind(Fortran) doesn't.
With all those issues, I do not really see how NAME(...) or BIND(Fortran,name=...) would help - except in very special cases.
Tobisa _______________________________________________ mpi3-fortran mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran
-- Bill Long [email protected] Fortran Technical Support & voice: 651-605-9024 Bioinformatics Software Development fax: 651-605-9142 Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101
participants (1)
-
Bill Long