except.c (reachable_handlers): Step out one level from a RESX.
authorJason Merrill <jason@redhat.com>
Wed, 25 Apr 2001 00:23:10 +0000 (20:23 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 25 Apr 2001 00:23:10 +0000 (20:23 -0400)
commit47c84870c65386096ccbc8b2aa5abc0ed3bd7d75
treed82d77b522a5b8ca49b1c63739dd140b9d6f38dc
parent11fe225ab2dbce69a345f63f4e608ab837a07703
except.c (reachable_handlers): Step out one level from a RESX.

        * except.c (reachable_handlers): Step out one level from a RESX.

        * except.c (struct eh_region): Rename 'last' to 'resume'.
        (mark_eh_region, duplicate_eh_region_1): Adjust.
        (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
        (build_post_landing_pads): Likewise.
        (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
        (expand_eh_region_end_must_not_throw): Likewise.
        (connect_post_landing_pads): Thread (only) regions with non-deleted
        resume insns.

        * except.c (expand_eh_region_end_cleanup): Save the EH return data
        registers around the cleanup.
        (get_exception_filter): New fn.
        (finish_eh_generation): Use it.

From-SVN: r41528
gcc/ChangeLog
gcc/except.c