(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr47677.c
       1  /* { dg-do compile } */
       2  
       3  struct S { int s; int u; };
       4  extern int bar (void);
       5  extern struct S *baz (void);
       6  
       7  void
       8  foo (int x, struct S *y, char z, int *v, struct S *s)
       9  {
      10    int c, d;
      11    if (x & 2)
      12      d = 1;
      13    else
      14      {
      15        d = (x & 1) ? 11 : 0;
      16        while ((c = (s->s != (s->u & 1) ? s->s : bar ())) != '\0');
      17        c = (s->s != '\\' && (s->u & 4) ? s->s : bar ());
      18        if (c == '<')
      19          goto lab;
      20      }
      21    while ((c = ((s->u & 1) ? s->s : bar ())) != 0
      22           && ((d != 11 && d != 17) || (v[c] & 1) == 0))
      23      {
      24      lab:;
      25        switch (d)
      26          {
      27          case 14:
      28            if (c == '}')
      29              y = baz ();
      30            d = y->s = z == '<' ? 17 : 11;
      31          }
      32      }
      33  }
      34