diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-13 14:48:56 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-13 14:48:56 +0000 |
commit | 14c235d91d20ec2ac27bc93235d6b28f5abc4933 (patch) | |
tree | 29d3fb80f1928330a799e287f6a657a318546016 /libiberty/hashtab.c | |
parent | cfb805a092726fd6ecfe8451b684487064b6e73c (diff) | |
download | gcc-14c235d91d20ec2ac27bc93235d6b28f5abc4933.tar.gz |
* hashtab.c (htab_remove_elt_with_hash): New function.
(htab_remove_elt): Implement in terms of htab_remove_elt_with_hash.
* hashtab.h (htab_remove_elt_with_hash): Prototype new function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80641 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/hashtab.c')
-rw-r--r-- | libiberty/hashtab.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c index f7751664f04..2639428df9c 100644 --- a/libiberty/hashtab.c +++ b/libiberty/hashtab.c @@ -600,17 +600,31 @@ htab_find_slot (htab, element, insert) } /* This function deletes an element with the given value from hash + table (the hash is computed from the element). If there is no matching + element in the hash table, this function does nothing. */ + +void +htab_remove_elt (htab, element) + htab_t htab; + PTR element; +{ + htab_remove_elt_with_hash (htab, element, (*htab->hash_f) (element)); +} + + +/* This function deletes an element with the given value from hash table. If there is no matching element in the hash table, this function does nothing. */ void -htab_remove_elt (htab, element) +htab_remove_elt_with_hash (htab, element, hash) htab_t htab; PTR element; + hashval_t hash; { PTR *slot; - slot = htab_find_slot (htab, element, NO_INSERT); + slot = htab_find_slot_with_hash (htab, element, hash, NO_INSERT); if (*slot == EMPTY_ENTRY) return; |