[Patch, Fortran] PR 36825 - Revert rank 7 -> 15 patch

Tobias Burnus burnus@net-b.de
Sat Aug 16 16:29:00 GMT 2008


Hi all,

three months ago I changed GFC_MAX_DIMENSIONS to 15 to allow for 15-rank 
arrays to be compatible with Fortran 2008. However, I missed that DTYPE 
also contains the rank information. Unfortunately (see also PR) one can 
not simply increase GFC_DTYPE_RANK_MASK as DTYPE contains the 
information in a packed form, i.e. GFC_DTYPE_TYPE_SHIFT needs to be 
increased from 3 to 4. That will change the libgfortran ABI (unless one 
copies around a hundred functions).

Thomas suggested to break the ABI but wait for the next version, where 
one can combine it with changes to the struct used to pass arrays. A 
good draft for such a structure can be found in the "Further 
interoperability with C" TR which is currently being created. If one 
bases the implementation on that draft, one can implement the C interop 
<-> fortran internal  conversion functions a noop. (And the prosed 
structure in the TR draft also looks sensible.)

Well, here is a patch which goes back to rank 7 support.

Build and test-suite checked on x86-64-linux.
OK for the trunk?

Tobias
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: revert_rank.diff
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080816/3d1c0cd6/attachment.ksh>


More information about the Gcc-patches mailing list