summaryrefslogtreecommitdiff
path: root/gcc/c-lex.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1994-11-21 19:06:09 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1994-11-21 19:06:09 +0000
commit54210b67133d740c3c873d2b9f187c28486befb6 (patch)
tree14044b9c10df067297eda8e957f1ce5278e1159b /gcc/c-lex.c
parent8f2693d8fdb45a54938369d4cbb69eeffa0cc4f9 (diff)
downloadgcc-54210b67133d740c3c873d2b9f187c28486befb6.tar.gz
(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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8538 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-lex.c')
-rw-r--r--gcc/c-lex.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/c-lex.c b/gcc/c-lex.c
index 17d50bef181..e4d8bf913c6 100644
--- a/gcc/c-lex.c
+++ b/gcc/c-lex.c
@@ -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;
}
}