X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcpphash.c;h=1e07f41f7ac332c11b536c856a0920284c0e5d06;hb=360c7178e1b85deda93ed0de293cd7c4621c6f93;hp=69e1a237aa498d3e3c8e752bf6b0c9d4d964c486;hpb=537c4bc627b8f5319a8cf4e59ee53cf88428787a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cpphash.c b/gcc/cpphash.c index 69e1a237aa4..1e07f41f7ac 100644 --- a/gcc/cpphash.c +++ b/gcc/cpphash.c @@ -28,28 +28,24 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "cpplib.h" #include "cpphash.h" -static cpp_hashnode *alloc_node PARAMS ((hash_table *)); +static cpp_hashnode *alloc_node (hash_table *); /* Return an identifier node for hashtable.c. Used by cpplib except when integrated with the C front ends. */ static cpp_hashnode * -alloc_node (table) - hash_table *table; +alloc_node (hash_table *table) { cpp_hashnode *node; - - node = (cpp_hashnode *) obstack_alloc (&table->pfile->hash_ob, - sizeof (cpp_hashnode)); - memset ((PTR) node, 0, sizeof (cpp_hashnode)); + + node = obstack_alloc (&table->pfile->hash_ob, sizeof (cpp_hashnode)); + memset (node, 0, sizeof (cpp_hashnode)); return node; } /* Set up the identifier hash table. Use TABLE if non-null, otherwise create our own. */ void -_cpp_init_hashtable (pfile, table) - cpp_reader *pfile; - hash_table *table; +_cpp_init_hashtable (cpp_reader *pfile, hash_table *table) { struct spec_nodes *s; @@ -57,8 +53,11 @@ _cpp_init_hashtable (pfile, table) { pfile->our_hashtable = 1; table = ht_create (13); /* 8K (=2^13) entries. */ - table->alloc_node = (hashnode (*) PARAMS ((hash_table *))) alloc_node; - gcc_obstack_init (&pfile->hash_ob); + table->alloc_node = (hashnode (*) (hash_table *)) alloc_node; + + _obstack_begin (&pfile->hash_ob, 0, 0, + (void *(*) (long)) xmalloc, + (void (*) (void *)) free); } table->pfile = pfile; @@ -72,15 +71,13 @@ _cpp_init_hashtable (pfile, table) s->n_defined = cpp_lookup (pfile, DSC("defined")); s->n_true = cpp_lookup (pfile, DSC("true")); s->n_false = cpp_lookup (pfile, DSC("false")); - s->n__STRICT_ANSI__ = cpp_lookup (pfile, DSC("__STRICT_ANSI__")); s->n__VA_ARGS__ = cpp_lookup (pfile, DSC("__VA_ARGS__")); s->n__VA_ARGS__->flags |= NODE_DIAGNOSTIC; } /* Tear down the identifier hash table. */ void -_cpp_destroy_hashtable (pfile) - cpp_reader *pfile; +_cpp_destroy_hashtable (cpp_reader *pfile) { if (pfile->our_hashtable) { @@ -92,10 +89,7 @@ _cpp_destroy_hashtable (pfile) /* Returns the hash entry for the STR of length LEN, creating one if necessary. */ cpp_hashnode * -cpp_lookup (pfile, str, len) - cpp_reader *pfile; - const unsigned char *str; - unsigned int len; +cpp_lookup (cpp_reader *pfile, const unsigned char *str, unsigned int len) { /* ht_lookup cannot return NULL. */ return CPP_HASHNODE (ht_lookup (pfile->hash_table, str, len, HT_ALLOC)); @@ -103,10 +97,7 @@ cpp_lookup (pfile, str, len) /* Determine whether the str STR, of length LEN, is a defined macro. */ int -cpp_defined (pfile, str, len) - cpp_reader *pfile; - const unsigned char *str; - int len; +cpp_defined (cpp_reader *pfile, const unsigned char *str, int len) { cpp_hashnode *node; @@ -119,10 +110,7 @@ cpp_defined (pfile, str, len) /* For all nodes in the hashtable, callback CB with parameters PFILE, the node, and V. */ void -cpp_forall_identifiers (pfile, cb, v) - cpp_reader *pfile; - cpp_cb cb; - PTR v; +cpp_forall_identifiers (cpp_reader *pfile, cpp_cb cb, void *v) { /* We don't need a proxy since the hash table's identifier comes first in cpp_hashnode. */