(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr58830.c
       1  /* { dg-do run } */
       2  /* { dg-additional-options "-ftree-pre -ftree-partial-pre" } */
       3  
       4  extern void abort (void);
       5  
       6  int b, c, d, f, g, h, i, j[6], *l = &b, *m, n, *o, r; 
       7  char k;
       8  
       9  static int
      10  foo ()
      11  {
      12    char *p = &k;
      13  
      14    for (; d; d++)
      15      if (i)
      16        h = 0;
      17      else
      18        h = c || (r = 0);
      19  
      20    for (f = 0; f < 2; f++)
      21      {
      22        unsigned int q;
      23        *l = 0;
      24        if (n)
      25  	*m = g;
      26        if (g)
      27  	o = 0;
      28        for (q = -8; q >= 5; q++)
      29  	(*p)--;
      30      }
      31  
      32    return 0;
      33  }
      34  
      35  int
      36  main ()
      37  {
      38    foo ();
      39    if (j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[0]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ^ (k & 15)] != 0)
      40      abort ();
      41    return 0;
      42  }