aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/lto/ChangeLog5
-rw-r--r--gcc/lto/lto.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 3fc7136..d9849b4 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-08 Tobias Burnus <burnus@net-b.de>
+
+ * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
+ Free lto_file struct after closing the file.
+
2012-10-08 Jan Hubicka <jh@suse.cz>
* lto/lto.c (remember_with_vars): Also fixup INTEGER_CST.
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 81d7fb3..2b9156a 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -2674,6 +2674,7 @@ lto_wpa_write_files (void)
lto_set_current_out_file (NULL);
lto_obj_file_close (file);
+ free (file);
part->encoder = NULL;
len = strlen (temp_filename);
@@ -2690,6 +2691,7 @@ lto_wpa_write_files (void)
fatal_error ("closing LTRANS output list %s: %m", ltrans_output_list);
free_ltrans_partitions();
+ free (temp_filename);
timevar_pop (TV_WHOPR_WPA_IO);
}
@@ -2952,6 +2954,7 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames)
if (!file_data)
{
lto_obj_file_close (current_lto_file);
+ free (current_lto_file);
current_lto_file = NULL;
break;
}
@@ -2959,6 +2962,7 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames)
decl_data[last_file_ix++] = file_data;
lto_obj_file_close (current_lto_file);
+ free (current_lto_file);
current_lto_file = NULL;
ggc_collect ();
}