summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-22 11:06:06 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-22 11:06:06 +0000
commite545c4006ec9f11eafebbc18a6f76b7de24a76f0 (patch)
tree6c71164c851ff89dc2e1cb7962505d2b033565a7 /gcc
parent9935a0ba17c6509632c64b51fe5e28ddb3679022 (diff)
downloadgcc-e545c4006ec9f11eafebbc18a6f76b7de24a76f0.tar.gz
* ipa-inline.c (can_inline_edge_p): Back out overzealous check on
flag_non_call_exceptions compatibility. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232722 138bc75d-0d04-0410-961f-82ee72b054a4
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