regressions with recent subref_array_pointer changes
Steve Kargl
sgk@troutmask.apl.washington.edu
Thu Sep 20 21:21:00 GMT 2007
On Thu, Sep 20, 2007 at 10:44:14PM +0200, Paul Thomas wrote:
> Steve,
>
> Thanks for the quick exchange off-list. It enabled me to find the bug.
> >
> >It would help a lot if you could identify which of the assignments is
> >causing the trouble by eliminating blocks until it goes away. Which
> >system is this by the way and does the problem occur at all levels of
> >optimization?
> >
> The problem was all down to the gfc_cleanup_loop (&loop) at the end of
> gfc_conv_expr_descriptor. This was wiping out the ss that was being
> used for the rhs descriptor and, hence, its element size. There is no
> recourse but to use gfc_conv_expr to regenerate the descriptor. The
> attached patch does the job. The check for constant-ness after the
> fold_convert is to avoid littering up the place with extraneous code.
>
> Bootstrapped and regtested on x86_ia64/FC5.
>
> I will commit just as soon as you confirm that the fix works for you.
>
Yes, that appears to fix the problem. I have successfully
made it past the problematic testsuite cases.
--
Steve
More information about the Fortran
mailing list