diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2001-12-16 13:58:07 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2001-12-16 13:58:07 +0000 |
commit | faf318664d85a4bfcf278a4475904ec850b4efb7 (patch) | |
tree | 98edefa5013064e1fe081d29fa44021bb5888015 /gcc | |
parent | 15bc166fa03cdd7ab76c21ed2165b1f024042322 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c-lex.c | 13 | ||||
-rw-r--r-- | gcc/config/vax/xm-vms.h | 2 | ||||
-rw-r--r-- | gcc/f/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/f/lex.c | 16 | ||||
-rw-r--r-- | gcc/f/target.c | 16 | ||||
-rw-r--r-- | gcc/fold-const.c | 8 | ||||
-rw-r--r-- | gcc/java/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/java/lex.c | 8 | ||||
-rw-r--r-- | gcc/real.c | 11 | ||||
-rw-r--r-- | gcc/toplev.c | 2 | ||||
-rw-r--r-- | gcc/tradcpp.c | 2 |
12 files changed, 37 insertions, 58 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 35ae8a3..3841b9d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * 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. + * nextstep-protos.h: New file. * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h". * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and diff --git a/gcc/c-lex.c b/gcc/c-lex.c index e70be70..7d532b2 100644 --- a/gcc/c-lex.c +++ b/gcc/c-lex.c @@ -904,9 +904,10 @@ lex_number (str, len) /* It is not a decimal point. It should be a digit (perhaps a hex digit). */ - if (ISDIGIT (c)) + if (ISDIGIT (c) + || (base == 16 && ISXDIGIT (c))) { - n = c - '0'; + n = hex_value (c); } else if (base <= 10 && (c == 'e' || c == 'E')) { @@ -919,14 +920,6 @@ lex_number (str, len) floatflag = AFTER_EXPON; break; /* start of exponent */ } - else if (base == 16 && c >= 'a' && c <= 'f') - { - n = c - 'a' + 10; - } - else if (base == 16 && c >= 'A' && c <= 'F') - { - n = c - 'A' + 10; - } else { p--; diff --git a/gcc/config/vax/xm-vms.h b/gcc/config/vax/xm-vms.h index ba88d25..eaf5f3b 100644 --- a/gcc/config/vax/xm-vms.h +++ b/gcc/config/vax/xm-vms.h @@ -66,7 +66,7 @@ Boston, MA 02111-1307, USA. */ char * pnt_ = (C), * pnt1_; \ pnt1_ = pnt_ - 1; \ while (*++pnt1_) \ - if ((*pnt1_ >= 'A' && *pnt1_ <= 'Z')) *pnt1_ |= 0x20; \ + if (ISUPPER (*pnt1_)) *pnt1_ = TOLOWER (*pnt1_); \ pnt1_ = strrchr (pnt_, ']'); \ pnt1_ = (pnt1_ == 0 ? strrchr (pnt_, '>') : pnt1_); \ pnt1_ = (pnt1_ == 0 ? strrchr (pnt_, ':') : pnt1_); \ 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; diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 8ac7f51..79387fb 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -1170,13 +1170,7 @@ real_hex_to_f (s, mode) { if (ISXDIGIT (c)) { - k = c & CHARMASK; - if (k >= 'a' && k <= 'f') - k = k - 'a' + 10; - else if (k >= 'A') - k = k - 'A' + 10; - else - k = k - '0'; + k = hex_value (c & CHARMASK); if ((high & 0xf0000000) == 0) { diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 18970fa..8436c52 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,7 @@ +2001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * lex.c (java_read_unicode, java_lex): Use hex_p/hex_value. + 2001-12-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz> * decl.c (java_init_decl_processing): Build otable_type correctly. diff --git a/gcc/java/lex.c b/gcc/java/lex.c index e0595e9..36e3827 100644 --- a/gcc/java/lex.c +++ b/gcc/java/lex.c @@ -567,10 +567,8 @@ java_read_unicode (lex, unicode_escape_p) { if ((c = java_read_char (lex)) == UEOF) return UEOF; - if (ISDIGIT (c)) - unicode |= (unicode_t)((c-'0') << shift); - else if ((c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F')) - unicode |= (unicode_t)((10+(c | 0x20)-'a') << shift); + if (hex_p (c)) + unicode |= (unicode_t)(hex_value (c) << shift); else java_lex_error ("Non hex digit in Unicode escape sequence", 0); } @@ -1064,7 +1062,7 @@ java_lex (java_lval) { /* We store in a string (in case it turns out to be a FP) and in PARTS if we have to process a integer literal. */ - int numeric = (ISDIGIT (c) ? c-'0' : 10 +(c|0x20)-'a'); + int numeric = hex_value (c); int count; /* Remember when we find a valid hexadecimal digit */ @@ -5190,12 +5190,7 @@ asctoeg (ss, y, oprec) trail = 0; nxtcom: - if (ISDIGIT (*s)) - k = *s - '0'; - else if (*s >= 'a' && *s <= 'f') - k = 10 + *s - 'a'; - else - k = 10 + *s - 'A'; + k = hex_value(*s); if ((k >= 0) && (k < base)) { /* Ignore leading zeros */ @@ -5205,9 +5200,7 @@ asctoeg (ss, y, oprec) if ((trail == 0) && (decflg != 0)) { sp = s; - while (ISDIGIT (*sp) - || (base == 16 && ((*sp >= 'a' && *sp <= 'f') - || (*sp >= 'A' && *sp <= 'F')))) + while (ISDIGIT (*sp) || (base == 16 && ISXDIGIT (*sp))) ++sp; /* Check for syntax error */ c = *sp & CHARMASK; diff --git a/gcc/toplev.c b/gcc/toplev.c index 342c6cc..1f9a7411 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -5154,6 +5154,8 @@ toplev_main (argc, argv) int argc; char **argv; { + hex_init (); + /* Initialization of GCC's environment, and diagnostics. */ general_init (argv [0]); diff --git a/gcc/tradcpp.c b/gcc/tradcpp.c index 1b57f16..c7af4c7 100644 --- a/gcc/tradcpp.c +++ b/gcc/tradcpp.c @@ -515,6 +515,8 @@ main (argc, argv) pending_dir *pend = (pending_dir *) xcalloc (argc, sizeof (pending_dir)); int no_standard_includes = 0; + hex_init (); + #ifdef RLIMIT_STACK /* Get rid of any avoidable limit on stack size. */ { |