except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>
Wed, 1 Oct 2003 18:54:46 +0000 (18:54 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Wed, 1 Oct 2003 18:54:46 +0000 (18:54 +0000)
* 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
gcc/doc/tm.texi
gcc/except.h

index fb665c3d449a856b769f2d7b93ffd29c0244cebc..1ae0fbd432ef275e308f5af9f49f090eb55c2026 100644 (file)
@@ -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
index 1e9a45c75869aa8146e0b105e01bcd5c38a1be26..74616d8476339a75f8c2493a2f1dce380d9bd9f8 100644 (file)
@@ -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
index e2c37059d77ae3a2cf17fb2744cf6adec7b1244e..75bbd6f9c3886b8daaf675c13ee8a0e8f93b53b4 100644 (file)
@@ -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