diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-31 07:04:37 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-03-31 07:04:37 +0000 |
commit | 7669680f0721813c5df2d2857dfbd197b3bf1902 (patch) | |
tree | 0bbfb81bb3327866160b992f8c9fb040addd6364 | |
parent | fafa45d08187c1f6a175d24762ae80b6ceeab89a (diff) | |
download | gcc-7669680f0721813c5df2d2857dfbd197b3bf1902.tar.gz |
* hashtab.h (hashval_t): New type.
(htab_find_with_hash): Use it as an argument.
(htab_find_slot_with_hash): Likewise.
* hashtab.c (find_empty_slot_for_expand): Use hashval_t for hash
codes.
(htab_find_with_hash): Likewise.
(htab_find_slot_with_hash): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32842 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | include/ChangeLog | 6 | ||||
-rw-r--r-- | include/hashtab.h | 11 | ||||
-rw-r--r-- | libiberty/ChangeLog | 7 | ||||
-rw-r--r-- | libiberty/hashtab.c | 16 |
4 files changed, 29 insertions, 11 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index e36ba7070a3..dd2d6673475 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2000-03-30 Mark Mitchell <mark@codesourcery.com> + + * hashtab.h (hashval_t): New type. + (htab_find_with_hash): Use it as an argument. + (htab_find_slot_with_hash): Likewise. + 2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk> * hashtab.h (htab_trav): Modify type so that first arg is of type diff --git a/include/hashtab.h b/include/hashtab.h index 5fe239391ff..2426708e378 100644 --- a/include/hashtab.h +++ b/include/hashtab.h @@ -1,5 +1,5 @@ /* An expandable hash tables datatype. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. Contributed by Vladimir Makarov (vmakarov@cygnus.com). This program is free software; you can redistribute it and/or modify @@ -38,10 +38,13 @@ extern "C" { #include <ansidecl.h> +/* The type for a hash code. */ +typedef unsigned int hashval_t; + /* Callback function pointer types. */ /* Calculate hash of a table entry. */ -typedef unsigned int (*htab_hash) PARAMS ((const void *)); +typedef hashval_t (*htab_hash) PARAMS ((const void *)); /* Compare a table entry with a possible entry. The entry already in the table always comes first, so the second element can be of a @@ -109,9 +112,9 @@ extern void htab_empty PARAMS ((htab_t)); extern void *htab_find PARAMS ((htab_t, const void *)); extern void **htab_find_slot PARAMS ((htab_t, const void *, int)); extern void *htab_find_with_hash PARAMS ((htab_t, const void *, - unsigned int)); + hashval_t)); extern void **htab_find_slot_with_hash PARAMS ((htab_t, const void *, - unsigned int, int)); + hashval_t, int)); extern void htab_clear_slot PARAMS ((htab_t, void **)); extern void htab_remove_elt PARAMS ((htab_t, void *)); diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 42231a35b8f..e51cea6d2c8 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,10 @@ +2000-03-30 Mark Mitchell <mark@codesourcery.com> + + * hashtab.c (find_empty_slot_for_expand): Use hashval_t for hash + codes. + (htab_find_with_hash): Likewise. + (htab_find_slot_with_hash): Likewise. + 2000-03-29 Zack Weinberg <zack@wolery.cumb.org> * hashtab.c (htab_find_with_hash): Avoid calculating hash2 diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c index 027f75d12ac..ba897b2b03d 100644 --- a/libiberty/hashtab.c +++ b/libiberty/hashtab.c @@ -1,5 +1,5 @@ /* An expandable hash tables datatype. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. Contributed by Vladimir Makarov (vmakarov@cygnus.com). This file is part of the libiberty library. @@ -155,10 +155,10 @@ htab_empty (htab) static void ** find_empty_slot_for_expand (htab, hash) htab_t htab; - unsigned int hash; + hashval_t hash; { size_t size = htab->size; - unsigned int hash2 = 1 + hash % (size - 2); + hashval_t hash2 = 1 + hash % (size - 2); unsigned int index = hash % size; for (;;) @@ -221,9 +221,10 @@ void * htab_find_with_hash (htab, element, hash) htab_t htab; const void *element; - unsigned int hash; + hashval_t hash; { - unsigned int index, hash2; + unsigned int index; + hashval_t hash2; size_t size; void *entry; @@ -272,11 +273,12 @@ void ** htab_find_slot_with_hash (htab, element, hash, insert) htab_t htab; const void *element; - unsigned int hash; + hashval_t hash; int insert; { void **first_deleted_slot; - unsigned int index, hash2; + unsigned int index; + hashval_t hash2; size_t size; if (insert && htab->size * 3 <= htab->n_elements * 4) |