aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/bitmap.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9248a10..b0e93cd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2000-02-17 Jason Merrill <jason@casey.cygnus.com>
+
+ * bitmap.c (bitmap_operation): Don't leak bitmap elements.
+
2000-02-17 Mark Mitchell <mark@codesourcery.com>
* function.c (thread_prologue_and_epilogue_insns): Put a line note
diff --git a/gcc/bitmap.c b/gcc/bitmap.c
index f43965c..6c6c978 100644
--- a/gcc/bitmap.c
+++ b/gcc/bitmap.c
@@ -477,7 +477,7 @@ bitmap_operation (to, from1, from2, operation)
changed = 1;
to_tmp = to_ptr;
to_ptr = to_ptr->next;
- to_tmp = bitmap_free;
+ to_tmp->next = bitmap_free;
bitmap_free = to_tmp;
}
if (to_ptr && to_ptr->indx == indx)
@@ -517,6 +517,11 @@ bitmap_operation (to, from1, from2, operation)
to_tmp->indx = indx;
bitmap_element_link (to, to_tmp);
}
+ else
+ {
+ to_tmp->next = bitmap_free;
+ bitmap_free = to_tmp;
+ }
}
/* If we have elements of TO left over, free the lot. */