[MPI3 Fortran] Fortran extra_state argument to MPI attributefunctions

Bill Long longb at cray.com
Thu May 28 09:20:48 CDT 2009

N.M. Maclaren wrote:
> On May 28 2009, Bill Long wrote:
>> If you know about so-called "Cray pointers" (more accurately, 
>> Livermore pointers from LRLtran),  C_PTR is just a typealias for a 
>> typeless Cray pointer  (pointer(*,*)).   In fact, that's exactly how 
>> it's defined in our iso_c_binding module.  Similarly, C_LOC has the 
>> same effect as the Cray (and other vendors) LOC function.   The 
>> intent of C_PTR and C_LOC was to give these common extensions 
>> standardized, and hence portable, names and syntax. 
> Yes and no.  There are a heck of a lot of restrictions to C_PTR and C_LOC
> that are intended to exclude the most problematic aspects of Cray 
> pointers,

Yes, I skimmed over that detail.  The compiler need to enforce the 
semantic restrictions associated with C_PTR and C_LOC.   These are 
restrictions on the user.  Inside the compiler, the mechanical 
implementation is the same as for Cray pointers.

Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120


More information about the mpiwg-fortran mailing list