aboutsummaryrefslogtreecommitdiff
path: root/gcc/f
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2001-12-16 13:58:07 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2001-12-16 13:58:07 +0000
commitfaf318664d85a4bfcf278a4475904ec850b4efb7 (patch)
tree98edefa5013064e1fe081d29fa44021bb5888015 /gcc/f
parent15bc166fa03cdd7ab76c21ed2165b1f024042322 (diff)
downloadgcc-faf318664d85a4bfcf278a4475904ec850b4efb7.zip
gcc-faf318664d85a4bfcf278a4475904ec850b4efb7.tar.gz
gcc-faf318664d85a4bfcf278a4475904ec850b4efb7.tar.bz2
c-lex.c (lex_number): Use ISXDIGIT/hex_value.
* c-lex.c (lex_number): Use ISXDIGIT/hex_value. * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER. * fold-const.c (real_hex_to_f): Use hex_value. * real.c (asctoeg): Use hex_value & ISXDIGIT. * toplev.c (toplev_main): Call hex_init. * tradcpp.c (main): Call hex_init. From-SVN: r48068
Diffstat (limited to 'gcc/f')
-rw-r--r--gcc/f/ChangeLog6
-rw-r--r--gcc/f/lex.c16
-rw-r--r--gcc/f/target.c16
3 files changed, 12 insertions, 26 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 1e6193a..6dfb6b8 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,9 @@
+Sun Dec 16 08:52:48 2001 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * lex.c (ffelex_backslash_, ffelex_cfebackslash_): Use hex_value.
+ * target.c (ffetarget_integerhex, ffetarget_typeless_hex): Use
+ hex_p/hex_value.
+
2001-12-14 Roger Sayle <roger@eyesopen.com>
* com-rt.def: Use __builtin_sqrt instead of __builtin_fsqrt.
diff --git a/gcc/f/lex.c b/gcc/f/lex.c
index d0aa829..6169656 100644
--- a/gcc/f/lex.c
+++ b/gcc/f/lex.c
@@ -396,13 +396,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col)
case 2:
if (ISXDIGIT (c))
{
- code *= 16;
- if (c >= 'a' && c <= 'f')
- code += c - 'a' + 10;
- if (c >= 'A' && c <= 'F')
- code += c - 'A' + 10;
- if (ISDIGIT (c))
- code += c - '0';
+ code = (code * 16) + hex_value (c);
if (code != 0 || count != 0)
{
if (count == 0)
@@ -603,13 +597,7 @@ ffelex_cfebackslash_ (int *use_d, int *d, FILE *finput)
*d = c;
break;
}
- code *= 16;
- if (c >= 'a' && c <= 'f')
- code += c - 'a' + 10;
- if (c >= 'A' && c <= 'F')
- code += c - 'A' + 10;
- if (ISDIGIT (c))
- code += c - '0';
+ code = (code * 16) + hex_value (c);
if (code != 0 || count != 0)
{
if (count == 0)
diff --git a/gcc/f/target.c b/gcc/f/target.c
index 7bda032..11fb0b1 100644
--- a/gcc/f/target.c
+++ b/gcc/f/target.c
@@ -1447,12 +1447,8 @@ ffetarget_integerhex (ffetargetIntegerDefault *val, ffelexToken integer)
bad_digit = FALSE;
while (c != '\0')
{
- if ((c >= 'A') && (c <= 'F'))
- c = c - 'A' + 10;
- else if ((c >= 'a') && (c <= 'f'))
- c = c - 'a' + 10;
- else if (ISDIGIT (c))
- c -= '0';
+ if (hex_p (c))
+ c = hex_value (c);
else
{
bad_digit = TRUE;
@@ -2482,12 +2478,8 @@ ffetarget_typeless_hex (ffetargetTypeless *xvalue, ffelexToken token)
new_value <<= 4;
if ((new_value >> 4) != value)
overflow = TRUE;
- if (ISDIGIT (c))
- new_value += c - '0';
- else if ((c >= 'A') && (c <= 'F'))
- new_value += c - 'A' + 10;
- else if ((c >= 'a') && (c <= 'f'))
- new_value += c - 'a' + 10;
+ if (hex_p (c))
+ new_value += hex_value (c);
else
bad_digit = TRUE;
value = new_value;