summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa-inline.c8
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