aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/except.c1
-rw-r--r--gcc/function.c3
-rw-r--r--gcc/gcse.c7
-rw-r--r--gcc/stmt.c4
5 files changed, 19 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4435b72..3680ac3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+Fri Oct 29 02:51:35 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * except.c (free_eh_nesting_info): Free the info itself.
+ * function.c (free_after_compilation): Don't free NULL.
+ * gcse.c (alloc_pre_mem): Free the temp_bitmap, too.
+ (pre_edge_insert): Free inserted.
+ * stmt.c (free_stmt_status): Don't free NULL.
+
1999-10-28 21:27 -0700 Zack Weinberg <zack@bitmover.com>
* cpplib.h (struct cpp_buffer: fname, nominal_fname,
diff --git a/gcc/except.c b/gcc/except.c
index 3c7692c..c6f7bf5 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -3297,5 +3297,6 @@ free_eh_nesting_info (info)
free (info->handlers[x]);
free (info->handlers);
}
+ free (info);
}
}
diff --git a/gcc/function.c b/gcc/function.c
index 890f62b..d5cdc26 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -426,7 +426,8 @@ free_after_compilation (f)
if (free_machine_status)
(*free_machine_status) (f);
- free (f->x_parm_reg_stack_loc);
+ if (f->x_parm_reg_stack_loc)
+ free (f->x_parm_reg_stack_loc);
f->arg_offset_rtx = NULL;
f->return_rtx = NULL;
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 9ce3ffb..7c0a115 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -4108,8 +4108,8 @@ alloc_pre_mem (n_blocks, n_exprs)
transp = sbitmap_vector_alloc (n_blocks, n_exprs);
comp = sbitmap_vector_alloc (n_blocks, n_exprs);
antloc = sbitmap_vector_alloc (n_blocks, n_exprs);
-
temp_bitmap = sbitmap_vector_alloc (n_blocks, n_exprs);
+
pre_optimal = NULL;
pre_redundant = NULL;
pre_insert_map = NULL;
@@ -4130,6 +4130,7 @@ free_pre_mem ()
free (transp);
free (comp);
free (antloc);
+ free (temp_bitmap);
if (pre_optimal)
free (pre_optimal);
@@ -4535,6 +4536,10 @@ pre_edge_insert (edge_list, index_map)
}
}
}
+
+ /* Clean up. */
+ free (inserted);
+
return did_insert;
}
diff --git a/gcc/stmt.c b/gcc/stmt.c
index eeab664..f47e9fa 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -559,8 +559,8 @@ free_stmt_status (f)
/* We're about to free the function obstack. If we hold pointers to
things allocated there, then we'll try to mark them when we do
GC. So, we clear them out here explicitly. */
-
- free (f->stmt);
+ if (f->stmt)
+ free (f->stmt);
f->stmt = NULL;
}