(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr66952.c
       1  /* { dg-do run } */
       2  
       3  int a = 128, b;
       4  
       5  static int
       6  fn1 (signed char p1, int p2)
       7  {
       8    return p1 < 0 || p1 > 1 >> p2 ? 0 : p1 << 1;
       9  }
      10  
      11  static int
      12  fn2 ()
      13  {
      14    signed char c = a;
      15    b = fn1 (c, 1);
      16    if ((128 | c) < 0 ? 1 : 0)
      17      return 1;
      18    return 0;
      19  }
      20  
      21  int
      22  main ()
      23  {
      24    if (fn2 () != 1)
      25      __builtin_abort ();
      26  
      27    return 0;
      28  }