diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-inline.c | 8 |
2 files changed, 7 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f80de9c1450..5b6ce6e646f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-01-22 Eric Botcazou <ebotcazou@adacore.com> + + * ipa-inline.c (can_inline_edge_p): Back out overzealous check on + flag_non_call_exceptions compatibility. + 2016-01-22 Jakub Jelinek <jakub@redhat.com> PR debug/66668 diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index aed8882d9cf..07e661eee5c 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -431,12 +431,8 @@ can_inline_edge_p (struct cgraph_edge *e, bool report, brought into a non-EH function unless we know that the callee does not throw. This is tracked by DECL_FUNCTION_PERSONALITY. */ - || (check_match (flag_non_call_exceptions) - /* TODO: We also may allow bringing !flag_non_call_exceptions - to flag_non_call_exceptions function, but that may need - extra work in tree-inline to add the extra EH edges. */ - && (!opt_for_fn (callee->decl, flag_non_call_exceptions) - || DECL_FUNCTION_PERSONALITY (callee->decl))) + || (check_maybe_up (flag_non_call_exceptions) + && DECL_FUNCTION_PERSONALITY (callee->decl)) || (check_maybe_up (flag_exceptions) && DECL_FUNCTION_PERSONALITY (callee->decl)) /* Strictly speaking only when the callee contains function |