diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 7 | ||||
-rw-r--r-- | gcc/except.h | 10 |
3 files changed, 17 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fb665c3..1ae0fbd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * 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 <davem@redhat.com> * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 1e9a45c..74616d8 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 e2c3705..75bbd6f 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 |