aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-11-23 12:52:16 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-11-23 12:52:16 +0000
commit39c4e2985d83f7f8cb3b0d959245a6d34cdc2227 (patch)
treeb9d7bc5161beb3a12c7787da4d041c4e1d2bcb42 /gcc
parent59a09598caf555ebf3bb0e7775a9140ef7187a9e (diff)
downloadgcc-39c4e2985d83f7f8cb3b0d959245a6d34cdc2227.zip
gcc-39c4e2985d83f7f8cb3b0d959245a6d34cdc2227.tar.gz
gcc-39c4e2985d83f7f8cb3b0d959245a6d34cdc2227.tar.bz2
re PR lto/46605 (Segmentation fault in lto_cgraph_replace_node)
2010-11-23 Richard Guenther <rguenther@suse.de> PR lto/46605 * lto.c (read_cgraph_and_symbols): Bail out after errors. From-SVN: r167074
Diffstat (limited to 'gcc')
-rw-r--r--gcc/lto/ChangeLog5
-rw-r--r--gcc/lto/lto.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 8b02672..7ad9740 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -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.
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 44f866a..5da41b0 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -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 ();