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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |rsandifo at gcc dot gnu.org
   Target Milestone|---                         |10.0
            Summary|ICE in df_install_refs at   |[10 Regression] ICE in
                   |df-scan.c:2376              |df_install_refs at
                   |                            |df-scan.c:2376

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r276318.
Slightly tweaked testcase (e.g. no need for unsigned a[a];), still needs the
uninitialized b variable used in one of the variable length structures:
int x;

void fn2 ();
void fn3 ();
void fn4 ();
void fn5 ();
void fn6 ();

void
fn1 (void)
{
  int n;
  for (n = 0;; ++n) {
    {
      struct { char a[n]; } s;
      fn2 (s);
    }
    struct { unsigned a[x]; } s;
    int i, b;
    for (i = 0; i < n; ++i)
      ;
    fn2 (s);
    {
      struct { char a[n]; } s;
      int i;
      for (i = 0; i < n; ++i)
        s.a[i] = i;
      fn3 (s, s);
    }
    fn4 ();
    {
      struct { unsigned a[n]; } s;
      fn5 (s);
    }
    {
      struct { char a[b]; } s;
      for (; i < n;)
        s.a[i] = i;
      fn6 (s);
    }
  }
}

Reply via email to