[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:54: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 Gcc-patches mailing list