]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
lto.c (lto_wpa_write_files, [...]): Free lto_file struct after closing the file.
authorTobias Burnus <burnus@net-b.de>
Mon, 8 Oct 2012 16:51:10 +0000 (18:51 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Mon, 8 Oct 2012 16:51:10 +0000 (18:51 +0200)
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.

From-SVN: r192216

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

index 3fc713616ed2af5eafd459d3e74f32e62ee30e80..d9849b476988dfac7a415117d7f7a06276e49d8e 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 81d7fb3d2e0367968368766ca067a8ffd2423b5e..2b9156aebbaad5493ddc152962816f1c349b4bb2 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 ();
     }