aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.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/tree-sra.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/tree-sra.c')
-rw-r--r--gcc/tree-sra.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 2835c99..c4fea5b 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -674,12 +674,6 @@ sra_deinitialize (void)
assign_link_pool.release ();
obstack_free (&name_obstack, NULL);
- /* TODO: hash_map does not support traits that can release
- value type of the hash_map. */
- for (hash_map<tree, auto_vec<access_p> >::iterator it =
- base_access_vec->begin (); it != base_access_vec->end (); ++it)
- (*it).second.release ();
-
delete base_access_vec;
}