diff options
author | Jeffrey A Law <law@cygnus.com> | 1998-03-23 22:49:48 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-03-23 15:49:48 -0700 |
commit | 65d98182e3ef58a8ad60b2bebc571a8ec3db37a5 (patch) | |
tree | 6d4323575ab6dd0f2cbe7b268bea4cc4ad94e8f6 /gcc/stmt.c | |
parent | 4b8bef1df0479c076349fc87d03fd51842ab9283 (diff) | |
download | gcc-65d98182e3ef58a8ad60b2bebc571a8ec3db37a5.zip gcc-65d98182e3ef58a8ad60b2bebc571a8ec3db37a5.tar.gz gcc-65d98182e3ef58a8ad60b2bebc571a8ec3db37a5.tar.bz2 |
* stmt.c (unroll_block_trees): Free block_vector if needed.
From-SVN: r18786
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r-- | gcc/stmt.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -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); } |