(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
compile/
pr37341.c
       1  /* PR rtl-optimization/37341 */
       2  
       3  short int a;
       4  int b;
       5  
       6  static inline int
       7  f1 (int x, int y)
       8  {
       9    if (x < 0 || y < 0 || y >= sizeof (int) * 8 || x > (1 >> y))
      10      return x;
      11  }
      12  
      13  static inline unsigned int
      14  f2 (int x, int y)
      15  {
      16    if (y <= 0 && x && y < __INT_MAX__ / x)
      17      return x;
      18    return x * y;
      19  }
      20  
      21  int
      22  f3 (void)
      23  {
      24    return (signed char) 0xb6;
      25  }
      26  
      27  unsigned int
      28  f4 (unsigned int x)
      29  {
      30    while (1)
      31      {
      32        if ((f2 (f3 (), (f1 (a, b)))) < x)
      33  	return 1;
      34      }
      35  }