aboutsummaryrefslogtreecommitdiff
path: root/gcc/hash-traits.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-06-25 17:05:55 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2015-06-25 17:05:55 +0000
commit5ac6389bc1c0729233a88c1ce146a21aa6a3e2ce (patch)
treefa3b1ac9d98c284a816013ec0edd06a55c612b1f /gcc/hash-traits.h
parent08ec27543d91cff797fc8dd0a8eb47cda2c843f7 (diff)
downloadgcc-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/hash-traits.h')
-rw-r--r--gcc/hash-traits.h25
1 files changed, 3 insertions, 22 deletions
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)
{