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. :-(