aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-10-29 09:49:23 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-10-29 09:49:23 +0000
commit5faf03ae77a43db0e5a685a01eb5b4023b09638f (patch)
tree610028a55913271a69abf4d597b12ed1df6999c0 /gcc
parent3baa501d812db77b1957928294a753c372104afb (diff)
downloadgcc-5faf03ae77a43db0e5a685a01eb5b4023b09638f.zip
gcc-5faf03ae77a43db0e5a685a01eb5b4023b09638f.tar.gz
gcc-5faf03ae77a43db0e5a685a01eb5b4023b09638f.tar.bz2
except.c (free_eh_nesting_info): Free the info itself.
* 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. From-SVN: r30255
Diffstat (limited to 'gcc')
-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;
}