From c14aea876fe087094419de69bb40e3de6b832fe3 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 1 Oct 2003 18:54:46 +0000 Subject: [PATCH] except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change. * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change. Allow override. * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document. From-SVN: r71985 --- gcc/ChangeLog | 6 ++++++ gcc/doc/tm.texi | 7 +++++++ gcc/except.h | 10 ++++------ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fb665c3d449..1ae0fbd432e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-10-01 Rainer Orth + + * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change. + Allow override. + * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document. + 2003-09-23 David S. Miller * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 1e9a45c7586..74616d84763 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -7497,6 +7497,13 @@ If this macro is defined to anything, the DWARF 2 unwinder will be used instead of inline unwinders and @code{__unwind_function} in the non-@code{setjmp} case. @end defmac +@defmac MUST_USE_SJLJ_EXCEPTIONS +This macro need only be defined if @code{DWARF2_UNWIND_INFO} is +runtime-variable. In that case, @file{except.h} cannot correctly +determine the corresponding definition of +@code{MUST_USE_SJLJ_EXCEPTIONS}, so the target must provide it directly. +@end defmac + @defmac DWARF_CIE_DATA_ALIGNMENT This macro need only be defined if the target might save registers in the function prologue at an offset to the stack pointer that is not aligned to diff --git a/gcc/except.h b/gcc/except.h index e2c37059d77..75bbd6f9c38 100644 --- a/gcc/except.h +++ b/gcc/except.h @@ -142,17 +142,15 @@ extern tree (*lang_eh_runtime_type) (tree); mean that we can use call frame exceptions. Detect that the target has appropriate support. */ -#if ! (defined (EH_RETURN_DATA_REGNO) \ +#ifndef MUST_USE_SJLJ_EXCEPTIONS +# if !(defined (EH_RETURN_DATA_REGNO) \ && (defined (IA64_UNWIND_INFO) \ || (DWARF2_UNWIND_INFO \ && (defined (EH_RETURN_HANDLER_RTX) \ || defined (HAVE_eh_return))))) -# define MUST_USE_SJLJ_EXCEPTIONS 1 -#else -# ifdef IA64_UNWIND_INFO -# define MUST_USE_SJLJ_EXCEPTIONS 0 +# define MUST_USE_SJLJ_EXCEPTIONS 1 # else -# define MUST_USE_SJLJ_EXCEPTIONS (DWARF2_UNWIND_INFO == 0) +# define MUST_USE_SJLJ_EXCEPTIONS 0 # endif #endif -- 2.30.2