aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.h
diff options
context:
space:
mode:
authorMike Stump <mrs@gcc.gnu.org>1997-05-29 18:42:07 +0000
committerMike Stump <mrs@gcc.gnu.org>1997-05-29 18:42:07 +0000
commit478b0752a1de1900c28acdb0647924e3dbfcc9e3 (patch)
tree2143b8a6eab35ce0032e661f721db4162356e522 /gcc/except.h
parent37c46b43dba86b48bb19d9f7ed231385e02c1abd (diff)
downloadgcc-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.h7
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;