libiberty.h (_hex_value): Const-ify.

include:
	* libiberty.h (_hex_value): Const-ify.
	(hex_init): Delete.

libiberty:
	* hex.c (hex_init): Delete.
	(_hex_value): Const-ify and initialize at compile-time.

From-SVN: r46417
This commit is contained in:
Kaveh R. Ghazi 2001-10-22 22:32:57 +00:00 committed by Kaveh Ghazi
parent f20a609feb
commit 26ad2982d8
4 changed files with 94 additions and 13 deletions

View File

@ -1,3 +1,8 @@
2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* libiberty.h (_hex_value): Const-ify.
(hex_init): Delete.
2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* demangle.h (demangler_engine): Const-ify.

View File

@ -240,8 +240,7 @@ extern PTR xmemdup PARAMS ((const PTR, size_t, size_t)) ATTRIBUTE_MALLOC;
#define _hex_array_size 256
#define _hex_bad 99
extern char _hex_value[_hex_array_size];
extern void hex_init PARAMS ((void));
extern const char _hex_value[_hex_array_size];
#define hex_p(c) (hex_value (c) != _hex_bad)
/* If you change this, note well: Some code relies on side effects in
the argument being performed exactly once. */

View File

@ -1,3 +1,8 @@
2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* hex.c (hex_init): Delete.
(_hex_value): Const-ify and initialize at compile-time.
2001-10-19 H.J. Lu <hjl@gnu.org>
* Makefile.in ($(TARGETLIB)): Also generate pic/$(TARGETLIB) if

View File

@ -1,5 +1,5 @@
/* Hex character manipulation support.
Copyright (C) 1995 Free Software Foundation, Inc.
Copyright (C) 1995, 2001 Free Software Foundation, Inc.
This file is part of the libiberty library.
Libiberty is free software; you can redistribute it and/or
@ -17,17 +17,89 @@ License along with libiberty; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <stdio.h> /* for EOF */
#include "libiberty.h"
char _hex_value[_hex_array_size];
/* Are we ASCII? */
#if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \
&& 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21 \
&& EOF == -1
void hex_init ()
const char _hex_value[_hex_array_size] =
{
int i;
for (i = 0; i < _hex_array_size; i++)
_hex_value[i] = _hex_bad;
for (i = 0; i < 10; i++)
_hex_value['0' + i] = i;
for (i = 0; i < 6; i++)
_hex_value['a' + i] = _hex_value['A' + i] = 10 + i;
}
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* NUL SOH STX ETX */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* EOT ENQ ACK BEL */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* BS HT LF VT */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* FF CR SO SI */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* DLE DC1 DC2 DC3 */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* DC4 NAK SYN ETB */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* CAN EM SUB ESC */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* FS GS RS US */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* SP ! " # */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* $ % & ' */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* ( ) * + */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* , - . / */
0, 1, 2, 3, /* 0 1 2 3 */
4, 5, 6, 7, /* 4 5 6 7 */
8, 9, _hex_bad, _hex_bad, /* 8 9 : ; */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* < = > ? */
_hex_bad, 10, 11, 12, /* @ A B C */
13, 14, 15, _hex_bad, /* D E F G */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* H I J K */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* L M N O */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* P Q R S */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* T U V W */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* X Y Z [ */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* \ ] ^ _ */
_hex_bad, 10, 11, 12, /* ` a b c */
13, 14, 15, _hex_bad, /* d e f g */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* h i j k */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* l m n o */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* p q r s */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* t u v w */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* x y z { */
_hex_bad, _hex_bad, _hex_bad, _hex_bad, /* | } ~ DEL */
/* The high half of unsigned char, all values are _hex_bad. */
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
_hex_bad, _hex_bad, _hex_bad, _hex_bad,
};
#else
#error "Unsupported host character set"
#endif /* not ASCII */