On 05/12/2011 05:46 PM, Paul Richard Thomas wrote:
This patch fixes the problem in two steps:
(i) It reverts r162289; and
(ii) It adds the correct initialization for loop.reverse[] in
gfc_trans_assignment_1.  This was implemented incorrectly in the fix
for PR24524 (in spite of the correct comment in dependency.c!) and
removed at sometime, I do not know why.
Bootstraps and regtests on x86_64/FC9.  OK for trunk and 4.6?

Looks OK - unless Thomas has objections.

I would prefer if you could credit Kacper Kowalik for the example - he reported it on IRC (and CCed himself to the PR after I reported it.) I only relayed the example and did some minor analysis.

Tobias

PS: Regarding regressions, I think gfortran is doing fine - ignoring the restricted pointer PR 45586. What are your next plans for gfortran? I wouldn't mind if you could fix PR 47674 - it always pops up as only testsuite failure when I regtest. Though, as the test case never worked, I am not sure whether one can classify it as regression or not. (You may need valgrind to reproduce the failure.)

2011-05-12  Paul Thomas<pa...@gcc.gnu.org>

        PR fortran/48955
        * dependency.c (gfc_dep_resolver): Revert r162829 which changed
        the condition for setting this_dep to GFC_DEP_OVERLAP.
        * trans-expr.c (gfc_trans_assignment_1): Enable loop reversal.

2011-05-12  Paul Thomas<pa...@gcc.gnu.org>

        PR fortran/48955
        * gfortran.dg/dependency_40.f90 : New test.

Reply via email to