(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr66949-1.c
       1  /* PR tree-optimization/66949 */
       2  /* { dg-do compile } */
       3  
       4  int a, *b = &a, c;
       5  
       6  unsigned short
       7  fn1 (unsigned short p1, unsigned int p2)
       8  {
       9    return p2 > 1 || p1 >> p2 ? p1 : p1 << p2;
      10  }
      11  
      12  void
      13  fn2 ()
      14  {
      15    int *d = &a;
      16    for (a = 0; a < -1; a = 1)
      17      ;
      18    if (a < 0)
      19      c = 0;
      20    *b = fn1 (*d || c, *d);
      21  }
      22  
      23  int
      24  main ()
      25  {
      26    fn2 ();
      27    return 0;
      28  }