aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorMike Stump <mrs@gcc.gnu.org>1997-04-23 20:11:52 +0000
committerMike Stump <mrs@gcc.gnu.org>1997-04-23 20:11:52 +0000
commit27a367780a72d84aff22bb78c1bca4b047d13f48 (patch)
treeb0da7eae8ad9032c2b8113a0a7ee10a84644941c /gcc/optabs.c
parente976b8b277eb0ae570a2c3317e77713fff846758 (diff)
downloadgcc-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.c17
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");