<br><tt><font size=2>mpi3-fortran-bounces@lists.mpi-forum.org wrote on
03/11/2010 08:52:54 AM:<br>
<br>
<br>
> > ><br>
> > >    type MPI_Comm<br>
> > >        sequence<br>
> > >        INTEGER :: val<br>
> > >    end type MPI_Comm<br>
> > ><br>
</font></tt>
<br><tt><font size=2>> <br>
> Rolf explained the SEQUENCE as meaning that this would guarantee <br>
> that an instance of the derived type in memory would be exactly the
<br>
> same as a single INTEGER.<br>
</font></tt>
<br>
<br><tt><font size=2>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.</font></tt>
<br>
<br>
<br><tt><font size=2>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.</font></tt>
<br>
<br><tt><font size=2>Cheers,</font></tt>
<br>
<br><font size=2 face="sans-serif">Jim Xia<br>
<br>
XL Fortran Compiler Test<br>
IBM Toronto Lab at 8200 Warden Ave, Markham, On, L6G 1C7<br>
Phone (905) 413-3444  Tie-line 313-3444<br>
email: jimxia@ca.ibm.com<br>
D2/YF7/8200 /MKM<br>
<br>
</font><a href=http://www.ibm.com/software/awdtools/fortran/xlfortran><font size=2 face="sans-serif">http://www.ibm.com/software/awdtools/fortran/xlfortran</font></a>
<br>