summaryrefslogtreecommitdiff
path: root/contrib/gcc/cpphash.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/cpphash.c')
-rw-r--r--contrib/gcc/cpphash.c78
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; )