aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-11-04 16:49:03 -0800
committerRichard Henderson <rth@gcc.gnu.org>1999-11-04 16:49:03 -0800
commite7749837caaa5c7a7fddea3e8eb90b852cead3d6 (patch)
tree36caca6632c74bf9cd783c44f1c99239c1b55570 /gcc/toplev.c
parent920a303df913c5bcc6912ce722bee38e8fc04197 (diff)
downloadgcc-e7749837caaa5c7a7fddea3e8eb90b852cead3d6.zip
gcc-e7749837caaa5c7a7fddea3e8eb90b852cead3d6.tar.gz
gcc-e7749837caaa5c7a7fddea3e8eb90b852cead3d6.tar.bz2
bitmap.h (BITMAP_XFREE): New.
* bitmap.h (BITMAP_XFREE): New. * flow.c (life_analysis): Use it. (life_analysis_1): Free blocks. * combine.c (undo_commit): New. (try_combine): Use it. Don't zap undobuf.undos. (combine_instructions): Don't zap undobuf.undos; free the undobuf.frees list. * local-alloc.c (local_alloc): Free qty_phys_num_sugg. * stmt.c (cost_table_): New. (estimate_case_costs): Use it instead of xmalloc. * toplev.c (compile_file): Reuse dumpname memory instead of strdup'ing it. From-SVN: r30404
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 5e7dbc0..89bef06 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3053,13 +3053,15 @@ compile_file (name)
asm_out_file = stdout;
else
{
- int len = strlen (dump_base_name);
- register char *dumpname = (char *) xmalloc (len + 6);
- strcpy (dumpname, dump_base_name);
- strip_off_ending (dumpname, len);
- strcat (dumpname, ".s");
if (asm_file_name == 0)
- asm_file_name = xstrdup (dumpname);
+ {
+ int len = strlen (dump_base_name);
+ char *dumpname = (char *) xmalloc (len + 6);
+ memcpy (dumpname, dump_base_name, len + 1);
+ strip_off_ending (dumpname, len);
+ strcat (dumpname, ".s");
+ asm_file_name = dumpname;
+ }
if (!strcmp (asm_file_name, "-"))
asm_out_file = stdout;
else