[Bug fortran/90561] [9/10 Regression] ICE in gimplify_var_or_parm_decl, at gimplify.c:2747

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 22 08:04:00 GMT 2019


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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
There's a temporary created by the FE that is not in the BIND_EXPR vars list.
Or rather, it is in the wrong BIND or the assign is in the wrong place:

p ()
{
...
  {
    character(kind=1)[0:][1:.z] * restrict D.3931;
    integer(kind=8) D.3932;
    integer(kind=8) D.3933;
    integer(kind=8) D.3934;
    integer(kind=8) D.3935;
    struct array01_unknown atmp.2;
    logical(kind=4) D.3943;
    integer(kind=8) D.3944;
    void * restrict D.3945;
    void * restrict D.3946;
    integer(kind=8) D.3947;

    D.3949 = .z;          <<<---------
...
    D.3947 = NON_LVALUE_EXPR <D.3933>;
    {
      integer(kind=8) S.3;

      S.3 = 0;
      while (1)
        {
          if (S.3 > D.3935) goto L.4;
          {
            integer(kind=8) D.3949;  <<<--------
            integer(kind=8) D.3950;
            integer(kind=8) D.3951;

            D.3950 = D.3949;   <<<----------
            D.3951 = D.3949;


More information about the Gcc-bugs mailing list