From c3d901688a0a0dce19b1b9dd3b5490ed839c94a6 Mon Sep 17 00:00:00 2001
From: Maxim Kuvyrkov <maxim@codesourcery.com>
Date: Sat, 25 Dec 2010 03:20:53 -0800
Subject: [PATCH 3/4] Fix memory leak

---
 gcc/ipa-prop.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 4b2cde8..c6dc87d 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -1723,7 +1723,17 @@ void
 ipa_free_node_params_substructures (struct ipa_node_params *info)
 {
   if (info->params)
-    free (info->params);
+    {
+      int i, count;
+
+      count = ipa_get_param_count (info);
+      for (i = 0; i < count; i++)
+	{
+	  struct ipcp_type_lattice *lat = ipcp_get_type_lattice (info, i);
+	  ipcp_set_type_lattice_to (lat, IPA_TOP);
+	}
+      free (info->params);
+    }
 
   memset (info, 0, sizeof (*info));
 }
-- 
1.6.2.4

