From: Mike Stump Date: Fri, 16 May 1997 00:58:40 +0000 (+0000) Subject: except.c (expand_start_all_catch): If the machine needs to perform any actions at... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f51430ed7aa820f0c77e0095a5b7a1a7846fc345;p=gcc.git 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 --- diff --git a/gcc/except.c b/gcc/except.c index 225b656c519..7fcce82668a 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)