summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormartynas <martynas@openbsd.org>2008-06-12 16:23:38 +0000
committermartynas <martynas@openbsd.org>2008-06-12 16:23:38 +0000
commit121b20c8296441145cbb50e8aa76d77df7e468fe (patch)
tree8e19bda90db818bf9b938c0e130c589b4af12067
parentwdc(4) at pcmcia(4) (diff)
downloadwireguard-openbsd-121b20c8296441145cbb50e8aa76d77df7e468fe.tar.xz
wireguard-openbsd-121b20c8296441145cbb50e8aa76d77df7e468fe.zip
accept f in mantissa of hex float constant. from gcc svn
unbreaks libm on gcc2 ok miod@ (who created almost the same diff)
-rw-r--r--gnu/egcs/gcc/c-lex.c4
-rw-r--r--gnu/egcs/gcc/cp/lex.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gnu/egcs/gcc/c-lex.c b/gnu/egcs/gcc/c-lex.c
index 27c65f3fa27..b8bb7e0a4db 100644
--- a/gnu/egcs/gcc/c-lex.c
+++ b/gnu/egcs/gcc/c-lex.c
@@ -1481,7 +1481,9 @@ yylex ()
|| (ISALNUM (c) && c != 'l' && c != 'L'
&& c != 'u' && c != 'U'
&& c != 'i' && c != 'I' && c != 'j' && c != 'J'
- && (floatflag == NOT_FLOAT || ((c != 'f') && (c != 'F')))))
+ && (floatflag == NOT_FLOAT
+ || ((base != 16) && (c != 'f') && (c != 'F'))
+ || base == 16)))
{
if (c == '.')
{
diff --git a/gnu/egcs/gcc/cp/lex.c b/gnu/egcs/gcc/cp/lex.c
index 73a1eac576c..8fb9583391a 100644
--- a/gnu/egcs/gcc/cp/lex.c
+++ b/gnu/egcs/gcc/cp/lex.c
@@ -3657,7 +3657,9 @@ real_yylex ()
|| (ISALNUM (c) && (c != 'l') && (c != 'L')
&& (c != 'u') && (c != 'U')
&& c != 'i' && c != 'I' && c != 'j' && c != 'J'
- && (floatflag == NOT_FLOAT || ((c != 'f') && (c != 'F')))))
+ && (floatflag == NOT_FLOAT
+ || ((base != 16) && (c != 'f') && (c != 'F'))
+ || base == 16)))
{
if (c == '.')
{