(j3.2006) Further C descriptors

Robert Corbett robert.corbett
Thu May 10 02:39:54 EDT 2012

Suppose a C descriptor for a pointer is created and passed back to a Fortran 
pointer.  Suppose the Fortran pointer is later passed unchanged to a C 
descriptor.  Which members of the new C descriptor can differ from those of the 
original C descriptor?

A Fortran implementation might assume that the value stored for the lower bound 
of an array dimension of a Fortran pointer must be one.  The TS places no such 
requirement.  Therefore, the implementation might check for such cases and set 
the lower bound to one as needed.

A Fortran implementation might assume that the stride multiplier for a dimension 
whose size is one is always positive.  Again, an implementation might check for 
dimensions whose size is one and reset the stride multiplier as needed.

The type member of the new C descriptor might have a different value from that 
of the original if multiple C types map to a single Fortran type.

The version member might be different.

Those are the only cases I see so far.  Are there others?

Bob Corbett

More information about the J3 mailing list