This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Status of array descriptor changes


Am 09.06.2014 20:50, schrieb FX:
Did you look at https://gcc.gnu.org/ml/fortran/2014-06/msg00015.html?
I did, but I must confess not all of it is clear. (What’s are span, sm[0] and elem_len in step (i), to start with?)

"sm" (byte-wise stride multiplier) and "elem_len" are described in TS29113; "elem_len" is the size of a single element of the array, i.e. in case of a string the string length times the size of a single character (1 or 4 bytes); in case of REAL(16) it would be 16 bytes, in case of a derived type, it would its byte size. "sm" is how many bytes the next element of the array is away; for a contiguous array, sm == elem_len.

And "span" is "sm" in a work-around implementation for pointers. Thus, the "span" work around should be remove, once we have properly implement the "sm" support. (We do support "sm" at descriptor level, but often it is just set to "stride*TREE_SIZE()" (or stride*elem_len), which does not support strides which are not multiples of elem_len.)

Tobias


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]