diff options
author | Mike Stump <mrs@gcc.gnu.org> | 1997-04-23 20:11:52 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 1997-04-23 20:11:52 +0000 |
commit | 27a367780a72d84aff22bb78c1bca4b047d13f48 (patch) | |
tree | b0da7eae8ad9032c2b8113a0a7ee10a84644941c /gcc/optabs.c | |
parent | e976b8b277eb0ae570a2c3317e77713fff846758 (diff) | |
download | gcc-27a367780a72d84aff22bb78c1bca4b047d13f48.zip gcc-27a367780a72d84aff22bb78c1bca4b047d13f48.tar.gz gcc-27a367780a72d84aff22bb78c1bca4b047d13f48.tar.bz2 |
Add setjmp/longjmp exception handling.
From-SVN: r13969
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 22a9d2a..b93a383 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -119,6 +119,12 @@ rtx memset_libfunc; rtx bzero_libfunc; rtx throw_libfunc; +rtx sjthrow_libfunc; +rtx sjpopnthrow_libfunc; +rtx terminate_libfunc; +rtx setjmp_libfunc; +rtx longjmp_libfunc; +rtx get_dynamic_handler_chain_libfunc; rtx eqhf2_libfunc; rtx nehf2_libfunc; @@ -4268,6 +4274,17 @@ init_optabs () bzero_libfunc = gen_rtx (SYMBOL_REF, Pmode, "bzero"); throw_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__throw"); + sjthrow_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__sjthrow"); + sjpopnthrow_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__sjpopnthrow"); + terminate_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__terminate"); +#ifdef USE_BUILTIN_SETJMP + setjmp_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__builtin_setjmp"); + longjmp_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__builtin_longjmp"); +#else + setjmp_libfunc = gen_rtx (SYMBOL_REF, Pmode, "setjmp"); + longjmp_libfunc = gen_rtx (SYMBOL_REF, Pmode, "longjmp"); +#endif + get_dynamic_handler_chain_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__get_dynamic_handler_chain"); eqhf2_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__eqhf2"); nehf2_libfunc = gen_rtx (SYMBOL_REF, Pmode, "__nehf2"); |