diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-06-25 17:16:23 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2015-06-25 17:16:23 +0000 |
commit | 20d2c372c21b9f92b30428d7b545af320d7d2303 (patch) | |
tree | ef11c0ce585dd35735de0a607dd716f3fa308d6e /gcc/config | |
parent | 84a98514b3d659ab6ca4b6bc624a1b7453fa0daa (diff) | |
download | gcc-20d2c372c21b9f92b30428d7b545af320d7d2303.zip gcc-20d2c372c21b9f92b30428d7b545af320d7d2303.tar.gz gcc-20d2c372c21b9f92b30428d7b545af320d7d2303.tar.bz2 |
hash-traits.h (string_hash, [...]): New classes.
gcc/
* hash-traits.h (string_hash, nofree_string_hash): New classes.
* genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
* passes.c (pass_registry_hasher): Likewise.
* config/alpha/alpha.c (string_traits): Likewise.
* config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
* config/m32c/m32c.c (pragma_traits): Likewise.
* config/mep/mep.c (pragma_traits): Likewise.
gcc/java/
* jcf-io.c (memoized_class_lookups): Use nofree_string_hash.
(find_class): Likewise.
From-SVN: r224971
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/alpha/alpha.c | 8 | ||||
-rw-r--r-- | gcc/config/i386/winnt.c | 27 | ||||
-rw-r--r-- | gcc/config/m32c/m32c.c | 11 | ||||
-rw-r--r-- | gcc/config/mep/mep.c | 10 |
4 files changed, 5 insertions, 51 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 122f586..3970278 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -4806,13 +4806,7 @@ alpha_multipass_dfa_lookahead (void) struct GTY(()) alpha_links; -struct string_traits : default_hashmap_traits -{ - static bool equal_keys (const char *const &a, const char *const &b) - { - return strcmp (a, b) == 0; - } -}; +typedef simple_hashmap_traits <nofree_string_hash> string_traits; struct GTY(()) machine_function { diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index 47ea87a..a30215b 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -707,29 +707,6 @@ i386_pe_record_stub (const char *name) #ifdef CXX_WRAP_SPEC_LIST -/* Hashtable helpers. */ - -struct wrapped_symbol_hasher : nofree_ptr_hash <const char> -{ - static inline hashval_t hash (const char *); - static inline bool equal (const char *, const char *); - static inline void remove (const char *); -}; - -inline hashval_t -wrapped_symbol_hasher::hash (const char *v) -{ - return htab_hash_string (v); -} - -/* Hash table equality helper function. */ - -inline bool -wrapped_symbol_hasher::equal (const char *x, const char *y) -{ - return !strcmp (x, y); -} - /* Search for a function named TARGET in the list of library wrappers we are using, returning a pointer to it if found or NULL if not. This function might be called on quite a few symbols, and we only @@ -741,7 +718,7 @@ static const char * i386_find_on_wrapper_list (const char *target) { static char first_time = 1; - static hash_table<wrapped_symbol_hasher> *wrappers; + static hash_table<nofree_string_hash> *wrappers; if (first_time) { @@ -754,7 +731,7 @@ i386_find_on_wrapper_list (const char *target) char *bufptr; /* Breaks up the char array into separated strings strings and enter them into the hash table. */ - wrappers = new hash_table<wrapped_symbol_hasher> (8); + wrappers = new hash_table<nofree_string_hash> (8); for (bufptr = wrapper_list_buffer; *bufptr; ++bufptr) { char *found = NULL; diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c index 83209aa..7dd1753 100644 --- a/gcc/config/m32c/m32c.c +++ b/gcc/config/m32c/m32c.c @@ -3053,16 +3053,7 @@ m32c_insert_attributes (tree node ATTRIBUTE_UNUSED, } } - -struct pragma_traits : default_hashmap_traits -{ - static hashval_t hash (const char *str) { return htab_hash_string (str); } - static bool - equal_keys (const char *a, const char *b) - { - return !strcmp (a, b); - } -}; +typedef simple_hashmap_traits<nofree_string_hash> pragma_traits; /* Hash table of pragma info. */ static GTY(()) hash_map<const char *, unsigned, pragma_traits> *pragma_htab; diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c index 5f710e2..3698bb0 100644 --- a/gcc/config/mep/mep.c +++ b/gcc/config/mep/mep.c @@ -4071,15 +4071,7 @@ struct GTY(()) pragma_entry { int flag; }; -struct pragma_traits : default_hashmap_traits -{ - static hashval_t hash (const char *s) { return htab_hash_string (s); } - static bool - equal_keys (const char *a, const char *b) - { - return strcmp (a, b) == 0; - } -}; +typedef simple_hashmap_traits<nofree_string_hash> pragma_traits; /* Hash table of farcall-tagged sections. */ static GTY(()) hash_map<const char *, pragma_entry, pragma_traits> * |