[Patch, fortran] PR 60392 wrong descriptor when passing a transposed array to a contiguous assumed shape dummy.
Janus Weil
janus@gcc.gnu.org
Tue Mar 11 09:25:00 GMT 2014
Hi Mikael,
> here is a fix for a wrong code issue, where we pass a descriptor with
> broken bounds when the actual argument is a transposed array and the
> dummy an assumed shape dummy.
> The bug comes from the interaction of the transpose optimization,
> which creates a descriptor with transposed bounds without copying the
> data, and the contiguous optimization, which reuses the descriptor for
> passing as argument after the call to internal_pack.
> The attached patch makes a copy of the descriptor with the correct
> bounds when a transposed scalarization is detected.
>
> Regression-tested on x86_64-unknown-linux-gnu.
> This is not a regression as far as I know, but quite a severe
> wrong-code, albeit limited to the corner case of transpose and
> assumed shape and contiguous. OK for trunk/4.8/4.7 anyway ?
I would say it's ok for trunk at least. About the branches I'm not
sure. Maybe someone else can add an opinion here ...
Cheers,
Janus
More information about the Fortran
mailing list