http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49636

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
                 CC|                            |burnus at gcc dot gnu.org
         Depends on|                            |37577

--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-07-05 
09:05:46 UTC ---
I think this is one of the bugs, which depend on a new array descriptor (cf.
http://gcc.gnu.org/wiki/ArrayDescriptorUpdate).

The problem is that for
    associate (i=>t2%j%i)
the array
      i(1:3)
is not contiguous in memory. In the current array descriptor implementation,
only arrays with strides which are multiples of the block are possible - that's
fine grained enough if there is only "integer :: i" but no longer if there is
also another element ("integer :: k"). In that case, one needs to have strides
which are byte-based ("stride multiplier")

It is rather high on the to-do list of gfortran, but as the patch will be
invasive and will have to be done at once as it breaks the ABI (i.e. the
downward compatibility), it is still pending. The idea is that one will use a
descriptor which is compatible with the upcomming TR 29113. (TR = Technical
Report, small standard extension which will be also integrated in the next
Fortran standard.)

Cf. http://gcc.gnu.org/wiki/ArrayDescriptorUpdate

Given some other larger on-going projects, the lack of time of some core
developers and given that GCC 4.7 will probably already branched in September
combined with the need for ABI breakage [which should happen only once], I fear
it won't be fixed for 4.7 but only later. :-(

Reply via email to