summaryrefslogtreecommitdiff
path: root/gcc/c-lex.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-04-18 19:25:32 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-04-18 19:25:32 +0000
commitdba2db4a058e8334c4ffc79218fd8eee6d8688d8 (patch)
treef8fb9b4a3aed4311f41914b21a118c7b381e6edb /gcc/c-lex.c
parent01ed6270e984095e8640c74d3ccd242ed3439992 (diff)
downloadgcc-dba2db4a058e8334c4ffc79218fd8eee6d8688d8.tar.gz
(yylex): If FP value is NaN, use value of zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7071 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-lex.c')
-rw-r--r--gcc/c-lex.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/c-lex.c b/gcc/c-lex.c
index 997e9a0fcdc..ad34e601327 100644
--- a/gcc/c-lex.c
+++ b/gcc/c-lex.c
@@ -1407,6 +1407,12 @@ yylex ()
if (garbage_chars > 0)
error ("garbage at end of number");
+ /* If the result is not a number, assume it must have been
+ due to some error message above, so silently convert
+ it to a zero. */
+ if (REAL_VALUE_ISNAN (value))
+ value = dconst0;
+
/* Create a node with determined type and value. */
if (imag)
yylval.ttype = build_complex (convert (type, integer_zero_node),