X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Flto%2Flto.c;h=115d1cc56781973aa648248ebde42126ec5a5efb;hp=12475f1d3cf972da0fcd4b7d62ff5fc07a7dc3e4;hb=a858fcb70e3a0e58282e435098fd34b169199bbc;hpb=b8d89de21839d7c4df1e3215c168a816a298e17d;ds=sidebyside diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 12475f1d3cf..115d1cc5678 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -1561,28 +1561,6 @@ lto_fixup_tree (tree *tp, int *walk_subtrees, void *data) if (t != prevailing) { - if (TREE_CODE (t) == FUNCTION_DECL - && TREE_NOTHROW (prevailing) != TREE_NOTHROW (t)) - { - /* If the prevailing definition does not throw but the - declaration (T) was considered throwing, then we - simply add PREVAILING to the list of throwing - functions. However, if the opposite is true, then - the call to PREVAILING was generated assuming that - the function didn't throw, which means that CFG - cleanup may have removed surrounding try/catch - regions. - - Note that we currently accept these cases even when - they occur within a single file. It's certainly a - user error, but we silently allow the compiler to - remove surrounding try/catch regions. Perhaps we - could emit a warning here, instead of silently - accepting the conflicting declaration. */ - if (TREE_NOTHROW (prevailing)) - lto_mark_nothrow_fndecl (prevailing); - } - /* Also replace t with prevailing defintion. We don't want to insert the other defintion in the seen set as we want to replace all instances of it. */ @@ -1974,8 +1952,6 @@ materialize_cgraph (void) for (i = 0; VEC_iterate (tree, lto_global_var_decls, i, decl); i++) rest_of_decl_compilation (decl, 1, 0); - /* Fix up any calls to DECLs that have become not exception throwing. */ - lto_fixup_nothrow_decls (); if (!quiet_flag) fprintf (stderr, "\n");