(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr69542.c
       1  /* PR middle-end/69542 */
       2  /* { dg-do compile } */
       3  /* { dg-additional-options "-fcompare-debug" } */
       4  
       5  typedef struct A *B;
       6  extern int *a[];
       7  struct C { B b; struct D *d; };
       8  struct A { struct { struct C e[1]; long long f[1]; } u; };
       9  struct D { int g; B h[100]; };
      10  int b, c, e, g;
      11  B d, f;
      12  void foo (void) __attribute__ ((__noreturn__));
      13  int bar (void)
      14  {
      15    int i = 0;
      16    do
      17      {
      18        if ('E' && a[e][0] != 'V')
      19          foo ();
      20        struct D *k = d->u.e[0].d;
      21        B x = k->h[i], o = f->u.e[0].b;
      22        if (b)
      23          return 0;
      24        if (a[g][0] != 'E' && a[g][0] != 'V')
      25          foo ();
      26        struct D *n = o->u.e[0].d;
      27        int r = x->u.f[0];
      28        (void) r;
      29        if (c)
      30          foo ();
      31        B y = n->h[x->u.f[0]];
      32        if (i != y->u.f[0])
      33          return 0;
      34        i++;
      35      }
      36    while (1);
      37  }