(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr64882.c
       1  /* PR target/64882 */
       2  /* { dg-do compile } */
       3  
       4  int a, d, e;
       5  long long b;
       6  static long long *c = &b;
       7  
       8  void
       9  fn1 (short p)
      10  {
      11  }
      12  
      13  long long
      14  fn2 (long long p1, long long p2)
      15  {
      16    return (p1 && p1 > 26854775807LL - p2) || p1 < -p2 ? p1 : p1 + p2;
      17  }
      18  
      19  void
      20  fn3 ()
      21  {
      22    long long f;
      23    int g = 3;
      24    int *h = &a;
      25    for (e = 0; e < 2; e++)
      26      {
      27        int *i = &g;
      28        if (!fn2 (*c, 7 < d % (*i)--))
      29  	f = fn2 ((*h <= 0) | b, 5278350700LL);
      30        *h = f;
      31        fn1 (*h);
      32      }
      33  }