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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |9.3

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note gimplification fails because we are evaluating in an lvalue context but
got -_7 in the end.  In the past we've hacked around Fortran oddities by
doing tem = -_7 and returning tem here, simply using a temporary as lvalue
which means the value assigned is lost (IIRC for things like assinging to
a literal constant which could happen in parameter context).

Full statement:

-_7 = MEM[(real(kind=4)[3] *)_4][_5]

and .original has

      D.3938 = -1;
      S.3 = 1;
      while (1)
        {
          if (S.3 > 3) goto L.2;
          -z[S.3 + -1] = (*(real(kind=4)[3] * restrict) atmp.0.data)[S.3 +
D.3938];
          S.3 = S.3 + 1;
        }
      L.2:;

Reply via email to