diff options
author | Mike Stump <mrs@gcc.gnu.org> | 1997-05-16 00:58:40 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 1997-05-16 00:58:40 +0000 |
commit | f51430ed7aa820f0c77e0095a5b7a1a7846fc345 (patch) | |
tree | 1441a97a1b0ebc431e3f90213f8ceb00f9ca1aa5 | |
parent | 59cfb80c42c06b8816682519dcd55ff40d867028 (diff) | |
download | gcc-f51430ed7aa820f0c77e0095a5b7a1a7846fc345.zip gcc-f51430ed7aa820f0c77e0095a5b7a1a7846fc345.tar.gz gcc-f51430ed7aa820f0c77e0095a5b7a1a7846fc345.tar.bz2 |
except.c (expand_start_all_catch): If the machine needs to perform any actions at the start of an expcetion...
* except.c (expand_start_all_catch): If the machine needs to
perform any actions at the start of an expcetion handler that
hasn't already been done, use gen_exception_receiver to emit it.
(expand_leftover_cleanups): Likewise.
* alpha/alpha.md (exception_receiver): Use it.
* pa/pa.h (exception_receiver): Use it.
Fix -fpic on hppa when excetpions are throw across shared libraries.
From-SVN: r14070
-rw-r--r-- | gcc/except.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/except.c b/gcc/except.c index 225b656c..7fcce82 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -1159,6 +1159,12 @@ expand_leftover_cleanups () /* Output the label for the start of the exception handler. */ emit_label (entry->exception_handler_label); +#ifdef HAVE_exception_receiver + if (! exceptions_via_longjmp) + if (HAVE_exception_receiver) + emit_insn (gen_exception_receiver ()); +#endif + #ifdef HAVE_nonlocal_goto_receiver if (! exceptions_via_longjmp) if (HAVE_nonlocal_goto_receiver) @@ -1258,6 +1264,12 @@ expand_start_all_catch () end up being the handler. */ emit_label (entry->exception_handler_label); +#ifdef HAVE_exception_receiver + if (! exceptions_via_longjmp) + if (HAVE_exception_receiver) + emit_insn (gen_exception_receiver ()); +#endif + #ifdef HAVE_nonlocal_goto_receiver if (! exceptions_via_longjmp) if (HAVE_nonlocal_goto_receiver) |