diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-06-25 17:05:55 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2015-06-25 17:05:55 +0000 |
commit | 5ac6389bc1c0729233a88c1ce146a21aa6a3e2ce (patch) | |
tree | fa3b1ac9d98c284a816013ec0edd06a55c612b1f /gcc | |
parent | 08ec27543d91cff797fc8dd0a8eb47cda2c843f7 (diff) | |
download | gcc-5ac6389bc1c0729233a88c1ce146a21aa6a3e2ce.zip gcc-5ac6389bc1c0729233a88c1ce146a21aa6a3e2ce.tar.gz gcc-5ac6389bc1c0729233a88c1ce146a21aa6a3e2ce.tar.bz2 |
hash-traits.h (ggc_hasher::remove): Take a reference parameter.
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.
From-SVN: r224955
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/hash-traits.h | 25 |
2 files changed, 10 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71bb2af..32cecf1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> + * 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. + +2015-06-25 Richard Sandiford <richard.sandiford@arm.com> + * hash-table.h (hash_table): Add gt_cleare_cache as a friend. (gt_cleare_cache): Check here for deleted and empty entries. Replace handle_cache_entry with a call to keep_cache_entry. diff --git a/gcc/hash-traits.h b/gcc/hash-traits.h index 3cc6a6f..1d1a220 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) { |