From 39c4e2985d83f7f8cb3b0d959245a6d34cdc2227 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Tue, 23 Nov 2010 12:52:16 +0000 Subject: [PATCH] re PR lto/46605 (Segmentation fault in lto_cgraph_replace_node) 2010-11-23 Richard Guenther PR lto/46605 * lto.c (read_cgraph_and_symbols): Bail out after errors. From-SVN: r167074 --- gcc/lto/ChangeLog | 5 +++++ gcc/lto/lto.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 8b026724cb3..7ad974011e5 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2010-11-23 Richard Guenther + + PR lto/46605 + * lto.c (read_cgraph_and_symbols): Bail out after errors. + 2010-11-17 Joseph Myers * lto.c (lto_main): Take no arguments. diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 44f866ad075..5da41b02294 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 (); -- 2.30.2