From: rsandifo Date: Thu, 25 Jun 2015 17:05:55 +0000 (+0000) Subject: gcc/ X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dd106147059b09755b74e6df75fa7ff4c020a1c2;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71bb2af4552d..32cecf1959ab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-06-25 Richard Sandiford + + * 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 * hash-table.h (hash_table): Add gt_cleare_cache as a friend. diff --git a/gcc/hash-traits.h b/gcc/hash-traits.h index 3cc6a6fa9ddb..1d1a220179fe 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 -struct ggc_cache_hasher +struct ggc_cache_hasher : ggc_hasher { - 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) {