aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 0d6abc3..cc6a8d1 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -1544,8 +1544,11 @@ expand_fixup_region_end (cleanup)
and we could get an infinte loop when it tried to rethrow, or just
generally incorrect execution following a throw. */
- dont_issue = ((INSN_UID (node->entry->outer_context) == 0)
- && (ehstack.top->entry != node->entry));
+ if (flag_new_exceptions)
+ dont_issue = 0;
+ else
+ dont_issue = ((INSN_UID (node->entry->outer_context) == 0)
+ && (ehstack.top->entry != node->entry));
ehstack.top->entry->outer_context = node->entry->outer_context;