(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr109008.c
       1  /* PR tree-optimization/109008 */
       2  /* { dg-do run } */
       3  /* { dg-options "-O2 -ffinite-math-only -fexcess-precision=standard" } */
       4  
       5  __attribute__((noipa)) double
       6  foo (double eps)
       7  {
       8    double d = __DBL_MAX__ + eps;
       9    if (d == __DBL_MAX__)
      10      if (eps > 16.0)
      11        return eps;
      12    return 0.0;
      13  }
      14  
      15  int
      16  main ()
      17  {
      18  #if __DBL_MANT_DIG__ == 53 && __DBL_MAX_EXP__ == 1024 && __DBL_MIN_EXP__ == -1021 \
      19      && __FLT_EVAL_METHOD__ == 0
      20    if (foo (0x0.8p+970) == 0.0)
      21      __builtin_abort ();
      22    if (foo (32.0) == 0.0)
      23      __builtin_abort ();
      24  #endif
      25    return 0;
      26  }