aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-03-05 07:02:36 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2013-03-05 07:02:36 +0100
commit85f5dbea3df7d0a97401259a273db2b8d02119e8 (patch)
tree16d41da2aecf45968b7f7a9f1463c3b439b56e33
parenta5d1569a6dd3126faf40b9aee31555438918fba4 (diff)
downloadgcc-85f5dbea3df7d0a97401259a273db2b8d02119e8.zip
gcc-85f5dbea3df7d0a97401259a273db2b8d02119e8.tar.gz
gcc-85f5dbea3df7d0a97401259a273db2b8d02119e8.tar.bz2
re PR middle-end/56461 (GCC is leaking lots of memory)
PR middle-end/56461 * sel-sched-ir.c (free_sched_pools): Release succs_info_pool.stack[succs_info_pool.max_top] vectors too if succs_info_pool.max_top isn't -1. From-SVN: r196450
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/sel-sched-ir.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 630ed9f..3abc676 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2013-03-05 Jakub Jelinek <jakub@redhat.com>
+ PR middle-end/56461
+ * sel-sched-ir.c (free_sched_pools): Release
+ succs_info_pool.stack[succs_info_pool.max_top] vectors too
+ if succs_info_pool.max_top isn't -1.
+
PR bootstrap/56509
* opts.c (opts_obstack, opts_concat): Moved to...
* opts-common.c (opts_obstack, opts_concat): ... here.
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index ae17351..91e91ec 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -5020,7 +5020,7 @@ free_sched_pools (void)
free_alloc_pool (sched_lists_pool);
gcc_assert (succs_info_pool.top == -1);
- for (i = 0; i < succs_info_pool.max_top; i++)
+ for (i = 0; i <= succs_info_pool.max_top; i++)
{
succs_info_pool.stack[i].succs_ok.release ();
succs_info_pool.stack[i].succs_other.release ();