(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr58418.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O2" } */
       3  
       4  extern void abort (void);
       5  int a, b, *c = &b, d = -1, e, f, *g, *h = &f, **i = &g, j;
       6  
       7  unsigned int
       8  foo (unsigned int p)
       9  {
      10    return p == 0 ? 0 : 1 / p;
      11  }
      12  
      13  static int *
      14  bar ()
      15  {
      16    *c = *h = foo (d) & (-9 < d);
      17    for (e = 0; e; e++)
      18      ;
      19    return 0;
      20  }
      21  
      22  int
      23  main ()
      24  {
      25    for (; j; j++)
      26      for (;; a--)
      27        ;
      28    *i = bar ();
      29    if (f != 0)
      30      abort ();
      31    return 0;
      32  }