diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-25 17:05:55 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-25 17:05:55 +0000 |
commit | dd106147059b09755b74e6df75fa7ff4c020a1c2 (patch) | |
tree | fa3b1ac9d98c284a816013ec0edd06a55c612b1f /gcc/hash-traits.h | |
parent | 9937801191a8686d18a79c105b3c3b419c51f174 (diff) | |
download | gcc-dd106147059b09755b74e6df75fa7ff4c020a1c2.tar.gz |
gcc/
* hash-traits.h (ggc_hasher::remove): Take a reference parameter.
(ggc_hasher::ggc_mx): Likewise.
(ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
that duplicate ggc_hasher ones.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224955 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/hash-traits.h')
-rw-r--r-- | gcc/hash-traits.h | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/gcc/hash-traits.h b/gcc/hash-traits.h index 3cc6a6fa9dd..1d1a220179f 100644 --- a/gcc/hash-traits.h +++ b/gcc/hash-traits.h @@ -96,10 +96,10 @@ struct ggc_hasher typedef T value_type; typedef T compare_type; - static void remove (T) {} + static void remove (T &) {} static void - ggc_mx (T p) + ggc_mx (T &p) { extern void gt_ggc_mx (T &); gt_ggc_mx (p); @@ -122,30 +122,11 @@ struct ggc_hasher /* Hasher for cache entry in gc memory. */ template<typename T> -struct ggc_cache_hasher +struct ggc_cache_hasher : ggc_hasher<T> { - typedef T value_type; - typedef T compare_type; - - static void remove (T &) {} - /* Entries are weakly held because this is for caches. */ - static void ggc_mx (T &) {} - static void - pch_nx (T &p) - { - extern void gt_pch_nx (T &); - gt_pch_nx (p); - } - - static void - pch_nx (T &p, gt_pointer_operator op, void *cookie) - { - op (&p, cookie); - } - static int keep_cache_entry (T &e) { |