OSDN Git Service

2012-10-08 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Oct 2012 16:51:10 +0000 (16:51 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Oct 2012 16:51:10 +0000 (16:51 +0000)
        * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
        Free lto_file struct after closing the file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192216 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/lto/ChangeLog
gcc/lto/lto.c

index 3fc7136..d9849b4 100644 (file)
@@ -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.
index 81d7fb3..2b9156a 100644 (file)
@@ -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 ();
     }