diff options
author | Uttam Pawar <uttamp@us.ibm.com> | 2006-03-14 00:24:54 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2006-03-14 00:24:54 +0000 |
commit | a14df7dabe7ede95e34d726741524031746f563c (patch) | |
tree | 594fb29b671a50217635b5c472a25e76a118e4db /gcc | |
parent | a62cdb32bbaf77729b94d47f4776196cacb30dfc (diff) | |
download | gcc-a14df7dabe7ede95e34d726741524031746f563c.zip gcc-a14df7dabe7ede95e34d726741524031746f563c.tar.gz gcc-a14df7dabe7ede95e34d726741524031746f563c.tar.bz2 |
re PR rtl-optimization/25739 (Memory leak in bt_load.c(augment_live_range))
2006-03-13 Uttam Pawar <uttamp@us.ibm.com>
PR rtl-optimization/25739
* bt-load.c (augment_live_range): Free tos pointer.
* gensupport.c (identify_predicable_attribute): Free
p_false pointer.
* gcov.c (create_file_names): Free name pointer.
From-SVN: r112039
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/bt-load.c | 4 | ||||
-rw-r--r-- | gcc/gcov.c | 1 | ||||
-rw-r--r-- | gcc/gensupport.c | 11 |
4 files changed, 23 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8d28b2f..fdc7531 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2006-03-13 Uttam Pawar <uttamp@us.ibm.com> + + PR rtl-optimization/25739 + * bt-load.c (augment_live_range): Free tos pointer. + + * gensupport.c (identify_predicable_attribute): Free + p_false pointer. + * gcov.c (create_file_names): Free name pointer. + 2006-03-13 Roger Sayle <roger@eyesopen.com> PR middle-end/26557 diff --git a/gcc/bt-load.c b/gcc/bt-load.c index 8531555..70975e4 100644 --- a/gcc/bt-load.c +++ b/gcc/bt-load.c @@ -1,5 +1,6 @@ /* Perform branch target register load optimizations. - Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This file is part of GCC. @@ -911,6 +912,7 @@ augment_live_range (bitmap live_range, HARD_REG_SET *btrs_live_in_range, { if (full_range) IOR_HARD_REG_SET (*btrs_live_in_range, btrs_live[new_bb->index]); + free (tos); return; } *tos++ = new_bb; @@ -658,6 +658,7 @@ create_file_names (const char *file_name) strcpy (da_file_name, name); strcpy (da_file_name + length, GCOV_DATA_SUFFIX); + free (name); return; } diff --git a/gcc/gensupport.c b/gcc/gensupport.c index a880b11..16878b8 100644 --- a/gcc/gensupport.c +++ b/gcc/gensupport.c @@ -1,5 +1,5 @@ /* Support routines for the various generation passes. - Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 + Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GCC. @@ -468,6 +468,8 @@ identify_predicable_attribute (void) message_with_line (elem->lineno, "attribute `predicable' is not a boolean"); errors = 1; + if (p_false) + free (p_false); return; } p_true[-1] = '\0'; @@ -485,12 +487,16 @@ identify_predicable_attribute (void) message_with_line (elem->lineno, "attribute `predicable' cannot be const"); errors = 1; + if (p_false) + free (p_false); return; default: message_with_line (elem->lineno, "attribute `predicable' must have a constant default"); errors = 1; + if (p_false) + free (p_false); return; } @@ -505,6 +511,9 @@ identify_predicable_attribute (void) value); errors = 1; } + + if (p_false) + free (p_false); } /* Return the number of alternatives in constraint S. */ |