aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-09-02 06:08:25 +0000
committerJeff Law <law@gcc.gnu.org>1999-09-02 00:08:25 -0600
commit2598e85aadb5a53abd3cb7b5e846d4d4bfcdd495 (patch)
treee8ab833e0ea8f30be29158a986420e73ab0bac0f /gcc/except.c
parentff2589d1526c703d68159335e271a8c46f6e95ff (diff)
downloadgcc-2598e85aadb5a53abd3cb7b5e846d4d4bfcdd495.zip
gcc-2598e85aadb5a53abd3cb7b5e846d4d4bfcdd495.tar.gz
gcc-2598e85aadb5a53abd3cb7b5e846d4d4bfcdd495.tar.bz2
except.c (expand_fixup_region_end): Do not peek at INSN_UID (node->entry->outer_context) for flag_new_exceptions.
* except.c (expand_fixup_region_end): Do not peek at INSN_UID (node->entry->outer_context) for flag_new_exceptions. From-SVN: r29047
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;