On 11/23/2015 02:48 PM, marxin wrote:
gcc/ChangeLog:

2015-11-20  Martin Liska  <mli...@suse.cz>

        * tree-ssa.c (redirect_edge_var_map_destroy): Release
        vectors that are used as a second argument of a hash_map.
---
  gcc/tree-ssa.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index 02fca4c..db7d065 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -121,6 +121,11 @@ redirect_edge_var_map_vector (edge e)
  void
  redirect_edge_var_map_destroy (void)
  {
+  if (edge_var_maps)
+    for (hash_map<edge, auto_vec<edge_var_map> >::iterator it =
+        edge_var_maps->begin (); it != edge_var_maps->end (); ++it)
+      (*it).second.release ();
+
    delete edge_var_maps;
    edge_var_maps = NULL;
  }


Hi.

As Trevor fixed behavior of hash_maps that now release both key and value,
the patch is not needed any more.

Martin

Reply via email to