diff options
author | Mike Stump <mrs@gcc.gnu.org> | 1997-05-29 18:42:07 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 1997-05-29 18:42:07 +0000 |
commit | 478b0752a1de1900c28acdb0647924e3dbfcc9e3 (patch) | |
tree | 2143b8a6eab35ce0032e661f721db4162356e522 /gcc/except.h | |
parent | 37c46b43dba86b48bb19d9f7ed231385e02c1abd (diff) | |
download | gcc-478b0752a1de1900c28acdb0647924e3dbfcc9e3.zip gcc-478b0752a1de1900c28acdb0647924e3dbfcc9e3.tar.gz gcc-478b0752a1de1900c28acdb0647924e3dbfcc9e3.tar.bz2 |
except.c (push_eh_entry): Eliminate start of exception region label, as it isn't used.
* except.c (push_eh_entry): Eliminate start of exception region
label, as it isn't used. Rename end_label to outer_context.
(expand_eh_region_start_for_decl): Likewise.
(expand_leftover_cleanups): Likewise.
(expand_start_all_catch): Likewise.
* except.h (eh_entry): Likewise.
* except.c (expand_eh_region_end): Likewise. Jump around the nop
that we insert, so that we can optimize it away, if it is unused,
also so that flow analysis can tell if we fall through to the end
of a function or not so that it can know if a function that returns
a value, in fact does or not.
Fixes g++.jason/return2.C when using -fno-sjlj-exceptions
From-SVN: r14135
Diffstat (limited to 'gcc/except.h')
-rw-r--r-- | gcc/except.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/except.h b/gcc/except.h index 8d4c5a6..14bb234 100644 --- a/gcc/except.h +++ b/gcc/except.h @@ -38,9 +38,7 @@ struct label_node { /* An eh_entry is used to describe one exception handling region. - START_LABEL is the label corresponding to the start of the region. - - END_LABEL is the label corresponding to the end of the region. + OUTER_CONTEXT is the label used for rethrowing into the outer context. EXCEPTION_HANDLER_LABEL is the label corresponding to the handler for this region. @@ -50,8 +48,7 @@ struct label_node { end of a group of try blocks. */ struct eh_entry { - rtx start_label; - rtx end_label; + rtx outer_context; rtx exception_handler_label; tree finalization; |