]> gcc.gnu.org Git - gcc.git/commitdiff
(yylex): Do warn about floating point out of range if target floating-point format...
authorJim Wilson <wilson@gcc.gnu.org>
Mon, 21 Nov 1994 19:06:09 +0000 (11:06 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 21 Nov 1994 19:06:09 +0000 (11:06 -0800)
(yylex): Do warn about floating point out of range if
target floating-point format is IEEE.  Use warning instead of
pedwarn to avoid getting errors.

From-SVN: r8538

gcc/c-lex.c

index 17d50bef181a12f1bc8eec1ec46da762fc1091d0..e4d8bf913c619ec266625ef4ef6d7ace5b38b99b 100644 (file)
@@ -1360,24 +1360,24 @@ yylex ()
 
                    type = float_type_node;
                    value = REAL_VALUE_ATOF (copy, TYPE_MODE (type));
-                   if (TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT
-                       && REAL_VALUE_ISINF (value) && pedantic)
-                     pedwarn ("floating point number exceeds range of `float'");
+                   /* A diagnostic is required here by some ANSI C testsuites.
+                      This is not pedwarn, become some people don't want
+                      an error for this.  */
+                   if (REAL_VALUE_ISINF (value) && pedantic)
+                     warning ("floating point number exceeds range of `float'");
                  }
                else if (lflag)
                  {
                    type = long_double_type_node;
                    value = REAL_VALUE_ATOF (copy, TYPE_MODE (type));
-                   if (TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT
-                       && REAL_VALUE_ISINF (value) && pedantic)
-                     pedwarn ("floating point number exceeds range of `long double'");
+                   if (REAL_VALUE_ISINF (value) && pedantic)
+                     warning ("floating point number exceeds range of `long double'");
                  }
                else
                  {
                    value = REAL_VALUE_ATOF (copy, TYPE_MODE (type));
-                   if (TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT
-                       && REAL_VALUE_ISINF (value) && pedantic)
-                     pedwarn ("floating point number exceeds range of `double'");
+                   if (REAL_VALUE_ISINF (value) && pedantic)
+                     warning ("floating point number exceeds range of `double'");
                  }
 
                set_float_handler (NULL_PTR);
@@ -1387,11 +1387,10 @@ yylex ()
              {
                /* ERANGE is also reported for underflow,
                   so test the value to distinguish overflow from that.  */
-               if (TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT
-                   && (REAL_VALUES_LESS (dconst1, value)
-                       || REAL_VALUES_LESS (value, dconstm1)))
+               if (REAL_VALUES_LESS (dconst1, value)
+                   || REAL_VALUES_LESS (value, dconstm1))
                  {
-                   pedwarn ("floating point number exceeds range of `double'");
+                   warning ("floating point number exceeds range of `double'");
                    exceeds_double = 1;
                  }
              }
This page took 0.098521 seconds and 5 git commands to generate.