[MPI3 Fortran] [Mpi-comments] MPI 3.0: Fortran 2008 interface - issue with the LOGICAL kind

Tobias Burnus burnus at net-b.de
Thu Mar 21 14:13:33 CDT 2013


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



More information about the mpiwg-fortran mailing list