diff options
author | Alan Modra <amodra@gmail.com> | 2021-05-09 12:28:32 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-05-09 12:28:32 +0930 |
commit | 4821e618adddf77138279883b72e87c2211418d5 (patch) | |
tree | 364806886ad74a695cfc63faf56ac59459e35fec /libctf | |
parent | b05a0fc79b9eed659cf52b4706f11700b92ae4af (diff) | |
download | binutils-4821e618adddf77138279883b72e87c2211418d5.zip binutils-4821e618adddf77138279883b72e87c2211418d5.tar.gz binutils-4821e618adddf77138279883b72e87c2211418d5.tar.bz2 |
Use htab_eq_string in libctf
* ctf-impl.h (ctf_dynset_eq_string): Don't declare.
* ctf-hash.c (ctf_dynset_eq_string): Delete function.
* ctf-dedup.c (make_set_element): Use htab_eq_string.
(ctf_dedup_atoms_init, ADD_CITER, ctf_dedup_init): Likewise.
(ctf_dedup_conflictify_unshared): Likewise.
(ctf_dedup_walk_output_mapping): Likewise.
Diffstat (limited to 'libctf')
-rw-r--r-- | libctf/ChangeLog | 9 | ||||
-rw-r--r-- | libctf/ctf-dedup.c | 14 | ||||
-rw-r--r-- | libctf/ctf-hash.c | 9 | ||||
-rw-r--r-- | libctf/ctf-impl.h | 2 |
4 files changed, 16 insertions, 18 deletions
diff --git a/libctf/ChangeLog b/libctf/ChangeLog index 979c6c5..5d2e198 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,3 +1,12 @@ +2021-05-09 Alan Modra <amodra@gmail.com> + + * ctf-impl.h (ctf_dynset_eq_string): Don't declare. + * ctf-hash.c (ctf_dynset_eq_string): Delete function. + * ctf-dedup.c (make_set_element): Use htab_eq_string. + (ctf_dedup_atoms_init, ADD_CITER, ctf_dedup_init): Likewise. + (ctf_dedup_conflictify_unshared): Likewise. + (ctf_dedup_walk_output_mapping): Likewise. + 2021-05-06 Nick Alcock <nick.alcock@oracle.com> * testsuite/lib/ctf-lib.exp: Use -gctf, not -gt. diff --git a/libctf/ctf-dedup.c b/libctf/ctf-dedup.c index 649a76a..6a76fc8 100644 --- a/libctf/ctf-dedup.c +++ b/libctf/ctf-dedup.c @@ -352,7 +352,7 @@ make_set_element (ctf_dynhash_t *set, const void *key) if ((element = ctf_dynhash_lookup (set, key)) == NULL) { if ((element = ctf_dynset_create (htab_hash_string, - ctf_dynset_eq_string, + htab_eq_string, NULL)) == NULL) return NULL; @@ -376,7 +376,7 @@ ctf_dedup_atoms_init (ctf_dict_t *fp) if (!fp->ctf_dedup_atoms_alloc) { if ((fp->ctf_dedup_atoms_alloc - = ctf_dynset_create (htab_hash_string, ctf_dynset_eq_string, + = ctf_dynset_create (htab_hash_string, htab_eq_string, free)) == NULL) return ctf_set_errno (fp, ENOMEM); } @@ -584,8 +584,8 @@ ctf_dedup_rhash_type (ctf_dict_t *fp, ctf_dict_t *input, ctf_dict_t **inputs, whaterr = N_("error updating citers"); \ if (!citers) \ if ((citers = ctf_dynset_create (htab_hash_string, \ - ctf_dynset_eq_string, \ - NULL)) == NULL) \ + htab_eq_string, \ + NULL)) == NULL) \ goto oom; \ if (ctf_dynset_cinsert (citers, hval) < 0) \ goto oom; \ @@ -1656,7 +1656,7 @@ ctf_dedup_init (ctf_dict_t *fp) if ((d->cd_conflicting_types = ctf_dynset_create (htab_hash_string, - ctf_dynset_eq_string, NULL)) == NULL) + htab_eq_string, NULL)) == NULL) goto oom; return 0; @@ -1814,7 +1814,7 @@ ctf_dedup_conflictify_unshared (ctf_dict_t *output, ctf_dict_t **inputs) const void *k; ctf_dynset_t *to_mark = NULL; - if ((to_mark = ctf_dynset_create (htab_hash_string, ctf_dynset_eq_string, + if ((to_mark = ctf_dynset_create (htab_hash_string, htab_eq_string, NULL)) == NULL) goto err_no; @@ -2351,7 +2351,7 @@ ctf_dedup_walk_output_mapping (ctf_dict_t *output, ctf_dict_t **inputs, void *k; if ((already_visited = ctf_dynset_create (htab_hash_string, - ctf_dynset_eq_string, + htab_eq_string, NULL)) == NULL) return ctf_set_errno (output, ENOMEM); diff --git a/libctf/ctf-hash.c b/libctf/ctf-hash.c index 426bd62..73fca6f 100644 --- a/libctf/ctf-hash.c +++ b/libctf/ctf-hash.c @@ -140,15 +140,6 @@ ctf_hash_eq_type_id_key (const void *a, const void *b) && (key_a->ctii_type == key_b->ctii_type); } -/* Hash and eq functions for the dynset. Most of these can just use the - underlying hashtab functions directly. */ - -int -ctf_dynset_eq_string (const void *a, const void *b) -{ - return !strcmp((const char *) a, (const char *) b); -} - /* The dynhash, used for hashes whose size is not known at creation time. */ /* Free a single ctf_helem with arbitrary key/value functions. */ diff --git a/libctf/ctf-impl.h b/libctf/ctf-impl.h index 342d2ff..80c4723 100644 --- a/libctf/ctf-impl.h +++ b/libctf/ctf-impl.h @@ -617,8 +617,6 @@ extern int ctf_hash_eq_string (const void *, const void *); extern int ctf_hash_eq_type_key (const void *, const void *); extern int ctf_hash_eq_type_id_key (const void *, const void *); -extern int ctf_dynset_eq_string (const void *, const void *); - typedef void (*ctf_hash_free_fun) (void *); typedef void (*ctf_hash_iter_f) (void *key, void *value, void *arg); |