aboutsummaryrefslogtreecommitdiff
path: root/gcc/genmatch.c
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2015-11-24 11:46:10 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2015-11-24 11:46:10 +0000
commit76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af (patch)
tree58070dd13c6248487e3ae1a088186d0901249d7f /gcc/genmatch.c
parentcfa55545f9aff809f267babb110b1037e164a1cd (diff)
downloadgcc-76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af.zip
gcc-76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af.tar.gz
gcc-76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af.tar.bz2
destroy values as well as keys when removing them from hash maps
gcc/ChangeLog: 2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * hash-map-traits.h (simple_hashmap_traits ::remove): call destructors on values that are being removed. * mem-stats.h (hash_map): Pass type of values to simple_hashmap_traits. * tree-sra.c (sra_deinitialize): Remove work around for hash maps not destructing values. * genmatch.c (sinfo_hashmap_traits): Adjust. * tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise. From-SVN: r230801
Diffstat (limited to 'gcc/genmatch.c')
-rw-r--r--gcc/genmatch.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/genmatch.c b/gcc/genmatch.c
index 3a20a48..76c8f1f 100644
--- a/gcc/genmatch.c
+++ b/gcc/genmatch.c
@@ -1397,7 +1397,8 @@ struct sinfo
unsigned cnt;
};
-struct sinfo_hashmap_traits : simple_hashmap_traits <pointer_hash <dt_simplify> >
+struct sinfo_hashmap_traits : simple_hashmap_traits<pointer_hash<dt_simplify>,
+ sinfo *>
{
static inline hashval_t hash (const key_type &);
static inline bool equal_keys (const key_type &, const key_type &);