[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