[MPI3 Fortran] Results of San Jose Forum meeting

Jim Xia jimxia at ca.ibm.com
Thu Mar 11 08:29:25 CST 2010


mpi3-fortran-bounces at lists.mpi-forum.org wrote on 03/11/2010 08:52:54 AM:


> > >
> > >    type MPI_Comm
> > >        sequence
> > >        INTEGER :: val
> > >    end type MPI_Comm
> > >

> 
> Rolf explained the SEQUENCE as meaning that this would guarantee 
> that an instance of the derived type in memory would be exactly the 
> same as a single INTEGER.


That's not guaranteed by Fortran standard.  SEQUENCE type means compiler 
can not reorder the components with regard to their declaration ordering. 
Nothing specific about there being no padding or alignment.  I'd study ALL 
compiler behaviors before making such a statement.


Back to the (void *) support in Fortran.  Currently many compilers support 
this using vendor-specific "IGNORE_TKR directives" to suppress compile 
time checking.  This is naturally used in the case when the caller is 
passing the address of the buffer to the routine.  The current work item 
in TR 29113 is to use assumed type.  But that will cause the caller to 
pass a pointer to a descriptor (a C-like struct), instead of the leading 
address of the buffer used in MPI routines.  The assumed type way (to be 
standardize) is completely different from the pass-by-reference way used 
by IGNORE_TKR.  Craig has assured us that MPI forum is happy with this 
design.  Just want to use this opportunity to restate the fact so no 
surprises warranted once the assumed type is standardardized.

Cheers,

Jim Xia

XL Fortran Compiler Test
IBM Toronto Lab at 8200 Warden Ave, Markham, On, L6G 1C7
Phone (905) 413-3444  Tie-line 313-3444
email: jimxia at ca.ibm.com
D2/YF7/8200 /MKM

http://www.ibm.com/software/awdtools/fortran/xlfortran
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-fortran/attachments/20100311/fce13341/attachment-0001.html>


More information about the mpiwg-fortran mailing list