https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61780

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikael at gcc dot gnu.org

--- Comment #1 from Mikael Morin <mikael at gcc dot gnu.org> ---
This sets loop reversal in dependency.c:
          /* Set reverse if backward dependence and not inhibited.  */
          if (reverse && reverse[n] == GFC_ENABLE_REVERSE)
            reverse[n] = (this_dep == GFC_DEP_BACKWARD) ?
                     GFC_REVERSE_SET : reverse[n];

However, the 'n' used indexes over array ref dimension, so in the case at hand
the second element is flagged as GFC_REVERSE_SET.
But the 'reverse' array is used later on using scalarizer dimensions, and as
y(k,4:n) and y(k,3:n-1) are one-dimension arrays, only the first element of
'reverse' is ever looked at.

Reply via email to