aboutsummaryrefslogtreecommitdiff
path: root/libobjc/exception.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2015-05-13 21:15:31 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2015-05-13 21:15:31 +0000
commit9b92a9f3b66085450297135e51e0810727d59f8c (patch)
treedc6a0f80d4e52e052312acffbba59b37f142e9ef /libobjc/exception.c
parent7893307bb20d7e1a6bd2de2fb8b5e779d376439f (diff)
downloadgcc-9b92a9f3b66085450297135e51e0810727d59f8c.zip
gcc-9b92a9f3b66085450297135e51e0810727d59f8c.tar.gz
gcc-9b92a9f3b66085450297135e51e0810727d59f8c.tar.bz2
sjlj.m4: New file.
config/ * sjlj.m4: New file. libgcc/ * configure.ac: Include config/sjlj.m4. Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust. * config.in: Regenerate. * configure: Likewise. * config.host: Replace enable_sjlj_exceptions by ac_cv_sjlj_exceptions. libjava/ * configure.ac: Include config/sjlj.m4. Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust. * include/config.h.in: Regenerate. * configure: Likewise. * exception.cc: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__. * stacktrace.cc: Likewise. * include/default-signal.h: Likewise. * sysdep/i386/backtrace.h: Likewise. libobjc/ * configure.ac: Remove manual SJLJ check. * config.h.in: Regenerate. * configure: Likewise. * exception.c: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__. libstdc++-v3/ * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete. * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS. * config.h.in: Regenerate. * configure: Likewise. * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__. * libsupc++/eh_throw.cc: Likewise. * libsupc++/eh_ptr.cc: Likewise. * doc/html/manual/appendix_porting.html: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS * doc/xml/manual/build_hacking.xml: Likewise. * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions. * doc/xml/manual/configure.xml: Likewise. From-SVN: r223181
Diffstat (limited to 'libobjc/exception.c')
-rw-r--r--libobjc/exception.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libobjc/exception.c b/libobjc/exception.c
index d6eb5db..1cc837bb 100644
--- a/libobjc/exception.c
+++ b/libobjc/exception.c
@@ -199,10 +199,10 @@ get_ttype_entry (struct lsda_header_info *info, _Unwind_Word i)
/* Using a different personality function name causes link failures
when trying to mix code using different exception handling
models. */
-#ifdef SJLJ_EXCEPTIONS
+#ifdef __USING_SJLJ_EXCEPTIONS__
#define PERSONALITY_FUNCTION __gnu_objc_personality_sj0
#define __builtin_eh_return_data_regno(x) x
-#elif defined(__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__)
+#elif defined(__SEH__)
#define PERSONALITY_FUNCTION __gnu_objc_personality_imp
#else
#define PERSONALITY_FUNCTION __gnu_objc_personality_v0
@@ -329,7 +329,7 @@ PERSONALITY_FUNCTION (int version,
action_record = 0;
handler_switch_value = 0;
-#ifdef SJLJ_EXCEPTIONS
+#ifdef __USING_SJLJ_EXCEPTIONS__
/* The given "IP" is an index into the call-site table, with two
exceptions -- -1 means no-action, and 0 means terminate. But
since we're using uleb128 values, we've not got random access to
@@ -380,7 +380,7 @@ PERSONALITY_FUNCTION (int version,
goto found_something;
}
}
-#endif /* SJLJ_EXCEPTIONS */
+#endif /* __USING_SJLJ_EXCEPTIONS__ */
/* If ip is not present in the table, C++ would call terminate. */
/* ??? As with Java, it's perhaps better to tweek the LSDA to that
@@ -508,7 +508,7 @@ objc_exception_throw (id exception)
header->base.exception_cleanup = __objc_exception_cleanup;
header->value = exception;
-#ifdef SJLJ_EXCEPTIONS
+#ifdef __USING_SJLJ_EXCEPTIONS__
_Unwind_SjLj_RaiseException (&header->base);
#else
_Unwind_RaiseException (&header->base);