(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
float-range-5.c
       1  /* PR 23572 : warnings for out of range floating-point constants 
       2     Test that they are NOT pedantic warnings.  */
       3  /* { dg-do compile } */
       4  /* { dg-options "-pedantic-errors -std=c99" } */
       5  #include <math.h>
       6  
       7  #ifndef INFINITY
       8  #define INFINITY (__builtin_inff ())
       9  #endif
      10  
      11  void overflow(void)
      12  {
      13    float f1 = 3.5E+38f;  /* { dg-warning "floating constant exceeds range" } */
      14    float f2 = -3.5E+38f; /* { dg-warning "floating constant exceeds range" } */
      15    float f3 = INFINITY;
      16    float f4 = -INFINITY;
      17  
      18    double d1 = 1.9E+308;  /* { dg-warning "floating constant exceeds range" } */
      19    double d2 = -1.9E+308; /* { dg-warning "floating constant exceeds range" } */
      20    double d3 = INFINITY;
      21    double d4 = -INFINITY;
      22  }
      23  
      24  void underflow(void)
      25  {
      26    float f11 = 3.3E-10000000000000000000f;  /* { dg-warning "floating constant truncated to zero" } */
      27    float f22 = -3.3E-10000000000000000000f; /* { dg-warning "floating constant truncated to zero" } */
      28    float f1 = 3.3E-46f;  /* { dg-warning "floating constant truncated to zero" } */
      29    float f2 = -3.3E-46f; /* { dg-warning "floating constant truncated to zero" } */
      30    float f3 = 0;
      31    float f4 = -0;
      32    float f5 = 0.0;
      33    float f6 = -0.0;
      34  
      35    double d11 = 3.3E-10000000000000000000;  /* { dg-warning "floating constant truncated to zero" } */
      36    double d22 = -3.3E-10000000000000000000; /* { dg-warning "floating constant truncated to zero" } */
      37    double d1 = 1.4E-325;  /* { dg-warning "floating constant truncated to zero" } */
      38    double d2 = -1.4E-325; /* { dg-warning "floating constant truncated to zero" } */
      39    double d3 = 0;
      40    double d4 = -0;
      41    double d5 = 0.0;
      42    double d6 = -0.0;
      43  }