* except.h: Correct checks for when SJLJ exceptions must be used.

From-SVN: r136568
This commit is contained in:
Nathan Sidwell 2008-06-08 19:06:49 +00:00 committed by Nathan Sidwell
parent cf0fd6189a
commit c427220a8c
2 changed files with 19 additions and 8 deletions

View file

@ -1,3 +1,7 @@
2008-06-08 Nathan Sidwell <nathan@codesourcery.com>
* except.h: Correct checks for when SJLJ exceptions must be used.
2008-06-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* doc/invoke.texi (Wenum-compare): Mention that it is enabled by

View file

@ -135,14 +135,14 @@ extern tree (*lang_eh_runtime_type) (tree);
has appropriate support. */
#ifndef MUST_USE_SJLJ_EXCEPTIONS
# if !(defined (EH_RETURN_DATA_REGNO) \
# if defined (EH_RETURN_DATA_REGNO) \
&& (defined (TARGET_UNWIND_INFO) \
|| (DWARF2_UNWIND_INFO \
&& (defined (EH_RETURN_HANDLER_RTX) \
|| defined (HAVE_eh_return)))))
# define MUST_USE_SJLJ_EXCEPTIONS 1
# else
|| defined (HAVE_eh_return))))
# define MUST_USE_SJLJ_EXCEPTIONS 0
# else
# define MUST_USE_SJLJ_EXCEPTIONS 1
# endif
#endif
@ -152,14 +152,21 @@ extern tree (*lang_eh_runtime_type) (tree);
# endif
# if CONFIG_SJLJ_EXCEPTIONS == 0
# define USING_SJLJ_EXCEPTIONS 0
# ifndef EH_RETURN_DATA_REGNO
# if !defined(EH_RETURN_DATA_REGNO)
#error "EH_RETURN_DATA_REGNO required"
# endif
# if !defined(EH_RETURN_HANDLER_RTX) && !defined(HAVE_eh_return)
# if ! (defined(TARGET_UNWIND_INFO) || DWARF2_UNWIND_INFO)
#error "{DWARF2,TARGET}_UNWIND_INFO required"
# endif
# if !defined(TARGET_UNWIND_INFO) \
&& !(defined(EH_RETURN_HANDLER_RTX) || defined(HAVE_eh_return))
#error "EH_RETURN_HANDLER_RTX or eh_return required"
# endif
# if !defined(DWARF2_UNWIND_INFO) && !defined(TARGET_UNWIND_INFO)
#error "{DWARF2,TARGET}_UNWIND_INFO required"
/* Usually the above error checks will have already triggered an
error, but backends may set MUST_USE_SJLJ_EXCEPTIONS for their own
reasons. */
# if MUST_USE_SJLJ_EXCEPTIONS
#error "Must use SJLJ exceptions but configured not to"
# endif
# endif
#else