re PR lto/46605 (Segmentation fault in lto_cgraph_replace_node)
authorRichard Guenther <rguenther@suse.de>
Tue, 23 Nov 2010 12:52:16 +0000 (12:52 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 23 Nov 2010 12:52:16 +0000 (12:52 +0000)
2010-11-23  Richard Guenther  <rguenther@suse.de>

PR lto/46605
* lto.c (read_cgraph_and_symbols): Bail out after errors.

From-SVN: r167074

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

index 8b02672..7ad9740 100644 (file)
@@ -1,3 +1,8 @@
+2010-11-23  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46605
+       * lto.c (read_cgraph_and_symbols): Bail out after errors.
+
 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
 
        * lto.c (lto_main): Take no arguments.
index 44f866a..5da41b0 100644 (file)
@@ -2195,6 +2195,11 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames)
   /* Merge global decls.  */
   lto_symtab_merge_decls ();
 
+  /* If there were errors during symbol merging bail out, we have no
+     good way to recover here.  */
+  if (seen_error ())
+    fatal_error ("errors during merging of translation units\n");
+
   /* Fixup all decls and types and free the type hash tables.  */
   lto_fixup_decls (all_file_decl_data);
   free_gimple_type_tables ();