diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2015-11-24 11:46:10 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2015-11-24 11:46:10 +0000 |
commit | 76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af (patch) | |
tree | 58070dd13c6248487e3ae1a088186d0901249d7f /gcc/genmatch.c | |
parent | cfa55545f9aff809f267babb110b1037e164a1cd (diff) | |
download | gcc-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.c | 3 |
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 &); |