diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/loop-unswitch.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7951f9f..0852030 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2005-12-14 Sebastian Pop <pop@cri.ensmp.fr> + + * loop-unswitch.c (unswitch_loop): Free zero_bitmap before returning. + 2005-12-14 J"orn Rennecke <joern.rennecke@st.com> PR bootstrap/25397: diff --git a/gcc/loop-unswitch.c b/gcc/loop-unswitch.c index d748730..8a71f72 100644 --- a/gcc/loop-unswitch.c +++ b/gcc/loop-unswitch.c @@ -426,8 +426,11 @@ unswitch_loop (struct loops *loops, struct loop *loop, basic_block unswitch_on, sbitmap_zero (zero_bitmap); if (!duplicate_loop_to_header_edge (loop, entry, loops, 1, zero_bitmap, NULL, NULL, NULL, 0)) - return NULL; - free (zero_bitmap); + { + sbitmap_free (zero_bitmap); + return NULL; + } + sbitmap_free (zero_bitmap); entry->flags |= irred_flag; /* Record the block with condition we unswitch on. */ |