diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1997-09-18 23:33:56 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1997-09-18 19:33:56 -0400 |
commit | 6020d3605c14364b52b635a93ef2b93ac39108ba (patch) | |
tree | 0c64bd1926558404f2fe6db31186a19420fcc900 /gcc/except.c | |
parent | feb5876a0b33803a8ff6a5ba645b1f6f58647b27 (diff) | |
download | gcc-6020d3605c14364b52b635a93ef2b93ac39108ba.zip gcc-6020d3605c14364b52b635a93ef2b93ac39108ba.tar.gz gcc-6020d3605c14364b52b635a93ef2b93ac39108ba.tar.bz2 |
final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
* final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
* dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
(dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
* except.c (end_eh_unwinder): Subtract 1 from return address.
* libgcc2.c (__throw): Likewise.
(find_exception_handler): Don't change PC here. Compare end with >.
From-SVN: r15554
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/except.c b/gcc/except.c index 7929e9c..ae75175 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -1668,6 +1668,8 @@ end_eh_unwinder () /* Get the address we need to use to determine what exception handler should be invoked, and store it in __eh_pc. */ return_val_rtx = eh_outer_context (return_val_rtx); + return_val_rtx = expand_binop (Pmode, sub_optab, return_val_rtx, GEN_INT (1), + NULL_RTX, 0, OPTAB_LIB_WIDEN); emit_move_insn (eh_saved_pc_rtx, return_val_rtx); /* Either set things up so we do a return directly to __throw, or |