This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH to reachable_handlers
- To: gcc-patches at gcc dot gnu dot org
- Subject: PATCH to reachable_handlers
- From: Jason Merrill <jason_merrill at redhat dot com>
- Date: 25 Apr 2001 01:22:27 +0100
The region number in a RESX refers to the region it is jumping out of; that
region is not actually reachable from the RESX.
Applied to the trunk.
2001-04-24 Jason Merrill <jason_merrill@redhat.com>
* except.c (reachable_handlers): Step out one level from a RESX.
*** except.c.~1~ Fri Apr 6 17:11:24 2001
--- except.c Tue Apr 24 00:58:51 2001
*************** reachable_handlers (insn)
*** 2709,2714 ****
--- 2720,2728 ----
type_thrown = region->u.throw.type;
region = region->outer;
}
+ else if (GET_CODE (insn) == JUMP_INSN
+ && GET_CODE (PATTERN (insn)) == RESX)
+ region = region->outer;
for (; region; region = region->outer)
if (reachable_next_level (region, type_thrown, &info) >= RNL_CAUGHT)