aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-03-23 22:49:48 +0000
committerJeff Law <law@gcc.gnu.org>1998-03-23 15:49:48 -0700
commit65d98182e3ef58a8ad60b2bebc571a8ec3db37a5 (patch)
tree6d4323575ab6dd0f2cbe7b268bea4cc4ad94e8f6
parent4b8bef1df0479c076349fc87d03fd51842ab9283 (diff)
downloadgcc-65d98182e3ef58a8ad60b2bebc571a8ec3db37a5.zip
gcc-65d98182e3ef58a8ad60b2bebc571a8ec3db37a5.tar.gz
gcc-65d98182e3ef58a8ad60b2bebc571a8ec3db37a5.tar.bz2
* stmt.c (unroll_block_trees): Free block_vector if needed.
From-SVN: r18786
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/stmt.c9
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 96fb0ca..3aaf8a1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
+
+ * stmt.c (unroll_block_trees): Free block_vector if needed.
+
Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
* m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 207a4ad..2b518fc 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -5684,7 +5684,10 @@ emit_case_nodes (index, node, default_label, index_type)
/* These routines are used by the loop unrolling code. They copy BLOCK trees
so that the debugging info will be correct for the unrolled loop. */
-/* Indexed by block number, contains a pointer to the N'th block node. */
+/* Indexed by block number, contains a pointer to the N'th block node.
+
+ Allocated by the call to identify_blocks, then released after the call
+ to reorder_blocks in the function unroll_block_trees. */
static tree *block_vector;
@@ -5702,4 +5705,8 @@ unroll_block_trees ()
tree block = DECL_INITIAL (current_function_decl);
reorder_blocks (block_vector, block, get_insns ());
+
+ /* Release any memory allocated by identify_blocks. */
+ if (block_vector)
+ free (block_vector);
}