aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2001-11-10 04:46:01 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2001-11-10 04:46:01 +0000
commit9e1ac9154abc68bb0ebaf2b2585b0a204c616240 (patch)
tree1c7f6cbe3e1a0a7f7e51eb6544697b4147b98b27
parent57870f8acd9cb9d86c18104702e6752b9cb08171 (diff)
downloadgcc-9e1ac9154abc68bb0ebaf2b2585b0a204c616240.zip
gcc-9e1ac9154abc68bb0ebaf2b2585b0a204c616240.tar.gz
gcc-9e1ac9154abc68bb0ebaf2b2585b0a204c616240.tar.bz2
cppexp.c (parse_number): Use ISXDIGIT/hex_value.
* cppexp.c (parse_number): Use ISXDIGIT/hex_value. * cpplex.c (hex_digit_value): Use hex_p/hex_value. * cppmain.c (general_init): Call hex_init. From-SVN: r46912
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cppexp.c11
-rw-r--r--gcc/cpplex.c11
-rw-r--r--gcc/cppmain.c1
4 files changed, 12 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index face7bd..86b64a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
+ * cpplex.c (hex_digit_value): Use hex_p/hex_value.
+ * cppmain.c (general_init): Call hex_init.
+
* config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
* i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
diff --git a/gcc/cppexp.c b/gcc/cppexp.c
index ac222ee..f7fe054 100644
--- a/gcc/cppexp.c
+++ b/gcc/cppexp.c
@@ -129,14 +129,9 @@ parse_number (pfile, tok)
{
c = *p;
- if (ISDIGIT (c))
- digit = c - '0';
- /* We believe that in all live character sets, a-f are
- consecutive, and so are A-F. */
- else if (base == 16 && c >= 'a' && c <= 'f')
- digit = c - 'a' + 10;
- else if (base == 16 && c >= 'A' && c <= 'F')
- digit = c - 'A' + 10;
+ if (ISDIGIT (c)
+ || (base == 16 && ISXDIGIT (c)))
+ digit = hex_value (c);
else
break;
diff --git a/gcc/cpplex.c b/gcc/cpplex.c
index a15fcca..f9af8b7 100644
--- a/gcc/cpplex.c
+++ b/gcc/cpplex.c
@@ -1601,13 +1601,10 @@ static unsigned int
hex_digit_value (c)
unsigned int c;
{
- if (c >= 'a' && c <= 'f')
- return c - 'a' + 10;
- if (c >= 'A' && c <= 'F')
- return c - 'A' + 10;
- if (c >= '0' && c <= '9')
- return c - '0';
- abort ();
+ if (hex_p (c))
+ return hex_value (c);
+ else
+ abort ();
}
/* Parse a '\uNNNN' or '\UNNNNNNNN' sequence. Returns 1 to indicate
diff --git a/gcc/cppmain.c b/gcc/cppmain.c
index 246c152..02dfdb7 100644
--- a/gcc/cppmain.c
+++ b/gcc/cppmain.c
@@ -100,6 +100,7 @@ general_init (argv0)
xmalloc_set_program_name (progname);
+ hex_init ();
gcc_init_libintl ();
}