]> gcc.gnu.org Git - gcc.git/commit - gcc/except.c
expr.c (expand_builtin_setjmp): Accept two new arguments for the labels to branch...
authorRichard Henderson <rth@cygnus.com>
Mon, 2 Feb 1998 19:28:57 +0000 (11:28 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 2 Feb 1998 19:28:57 +0000 (11:28 -0800)
commit6fd1c67b8b4b139397e122ed9440da75fdab277c
tree6fde390bee19acf841e5ec6c02e403d195086099
parent95936d18c112aa1935ee7c9338857aaa3481beb1
expr.c (expand_builtin_setjmp): Accept two new arguments for the labels to branch to on first and subsequent...

 * expr.c (expand_builtin_setjmp): Accept two new arguments for
 the labels to branch to on first and subsequent executions.  Don't
 play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
 and provide it with the jmp_buf.  Use only one of
 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
 and provide the former with the target label.
 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
 (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
 insn to replace all of the normal nonlocal_goto code.  Don't play
 with __dummy.  Correct arguments to nonlocal_goto.
 * expr.h (expand_builtin_setjmp): Update prototype.
 * except.c (start_dynamic_handler): When using builtin_setjmp,
 generate more accurate flow information.
 * alpha.md (nonlocal_goto_receiver_osf): Delete.
 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
 (builtin_longjmp, builtin_setjmp_receiver): New.
 * sparc.md (update_return): Disambiguate unspec number.
 (nonlocal_goto): Rearrange arguments to match caller in except.c.
 (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
 jmp_buf operand.
 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
 (builtin_setjmp_setup*, builtin_longjmp): New.

From-SVN: r17602
gcc/ChangeLog
gcc/config/alpha/alpha.md
gcc/config/mips/mips.md
gcc/config/sparc/sparc.md
gcc/except.c
gcc/expr.c
gcc/expr.h
This page took 0.059701 seconds and 5 git commands to generate.