diff options
Diffstat (limited to 'contrib/gcc/cpphash.c')
| -rw-r--r-- | contrib/gcc/cpphash.c | 78 |
1 files changed, 34 insertions, 44 deletions
diff --git a/contrib/gcc/cpphash.c b/contrib/gcc/cpphash.c index bd06e95387f9..6aa9e9c7c12b 100644 --- a/contrib/gcc/cpphash.c +++ b/contrib/gcc/cpphash.c @@ -1,7 +1,7 @@ /* Part of CPP library. (Macro hash table support.) - Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc. + Copyright (C) 1986, 87, 89, 92-95, 1996 Free Software Foundation, Inc. Written by Per Bothner, 1994. - Based on CCCP program by by Paul Rubin, June 1986 + Based on CCCP program by Paul Rubin, June 1986 Adapted to ANSI C, Richard Stallman, Jan 1987 This program is free software; you can redistribute it and/or modify it @@ -22,26 +22,17 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. You are forbidden to forbid anyone else to use, share and improve what you give them. Help stamp out software-hoarding! */ +#include "config.h" +#include "system.h" +#include "gansidecl.h" #include "cpplib.h" #include "cpphash.h" extern char *xmalloc PARAMS ((unsigned)); -/* Define a generic NULL if one hasn't already been defined. */ +/* Return hash function on name. must be compatible with the one + computed a step at a time, elsewhere */ -#ifndef NULL -#define NULL 0 -#endif - -#ifndef __STDC__ -#define const -#define volatile -#endif - -/* - * return hash function on name. must be compatible with the one - * computed a step at a time, elsewhere - */ int hashf (name, len, hashsize) register const U_CHAR *name; @@ -56,19 +47,18 @@ hashf (name, len, hashsize) return MAKE_POS (r) % hashsize; } -/* - * find the most recent hash node for name name (ending with first - * non-identifier char) installed by install - * - * If LEN is >= 0, it is the length of the name. - * Otherwise, compute the length by scanning the entire name. - * - * If HASH is >= 0, it is the precomputed hash code. - * Otherwise, compute the hash code. - */ +/* Find the most recent hash node for name "name" (ending with first + non-identifier char) installed by install + + If LEN is >= 0, it is the length of the name. + Otherwise, compute the length by scanning the entire name. + + If HASH is >= 0, it is the precomputed hash code. + Otherwise, compute the hash code. */ + HASHNODE * cpp_lookup (pfile, name, len, hash) - struct parse_file *pfile; + cpp_reader *pfile ATTRIBUTE_UNUSED; const U_CHAR *name; int len; int hash; @@ -91,7 +81,7 @@ cpp_lookup (pfile, name, len, hash) return bucket; bucket = bucket->next; } - return (HASHNODE*) 0; + return (HASHNODE *) 0; } /* @@ -119,7 +109,7 @@ delete_macro (hp) hp->next->prev = hp->prev; /* make sure that the bucket chain header that - the deleted guy was on points to the right thing afterwards. */ + the deleted guy was on points to the right thing afterwards. */ if (hp == *hp->bucket_hdr) *hp->bucket_hdr = hp->next; @@ -140,20 +130,20 @@ delete_macro (hp) free (hp); } -/* - * install a name in the main hash table, even if it is already there. - * name stops with first non alphanumeric, except leading '#'. - * caller must check against redefinition if that is desired. - * delete_macro () removes things installed by install () in fifo order. - * this is important because of the `defined' special symbol used - * in #if, and also if pushdef/popdef directives are ever implemented. - * - * If LEN is >= 0, it is the length of the name. - * Otherwise, compute the length by scanning the entire name. - * - * If HASH is >= 0, it is the precomputed hash code. - * Otherwise, compute the hash code. - */ + +/* Install a name in the main hash table, even if it is already there. + name stops with first non alphanumeric, except leading '#'. + caller must check against redefinition if that is desired. + delete_macro () removes things installed by install () in fifo order. + this is important because of the `defined' special symbol used + in #if, and also if pushdef/popdef directives are ever implemented. + + If LEN is >= 0, it is the length of the name. + Otherwise, compute the length by scanning the entire name. + + If HASH is >= 0, it is the precomputed hash code. + Otherwise, compute the hash code. */ + HASHNODE * install (name, len, type, ivalue, value, hash) U_CHAR *name; @@ -203,7 +193,7 @@ install (name, len, type, ivalue, value, hash) void cpp_hash_cleanup (pfile) - cpp_reader *pfile; + cpp_reader *pfile ATTRIBUTE_UNUSED; { register int i; for (i = HASHSIZE; --i >= 0; ) |
