This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] remove lone user of MUST_USE_SJLJ_EXCEPTIONS
- From: Nathan Froyd <froydnj at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 21 Nov 2010 22:05:01 -0500
- Subject: [PATCH] remove lone user of MUST_USE_SJLJ_EXCEPTIONS
Just as $SUBJECT suggests. Tested on h8300-elf. OK to commit?
-Nathan
* targhooks.c (default_except_unwind_info): Remove
MUST_USE_SJLJ_EXCEPTIONS case.
* config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
* config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
* doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
* doc/tm.texi: Regenerate.
* system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 1c7c27b..31aa54c 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -5975,4 +5975,7 @@ h8300_trampoline_init (rtx m_tramp, tree fndecl, rtx cxt)
#undef TARGET_OPTION_OPTIMIZATION_TABLE
#define TARGET_OPTION_OPTIMIZATION_TABLE h8300_option_optimization_table
+#undef TARGET_EXCEPT_UNWIND_INFO
+#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
+
struct gcc_target targetm = TARGET_INITIALIZER;
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 35094de..589b70f 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -125,10 +125,8 @@ extern const char * const *h8_reg_names;
#define TARGET_DEFAULT (MASK_QUICKCALL)
#endif
-/* We want dwarf2 info available to gdb... */
+/* We want dwarf2 info available to gdb. */
#define DWARF2_DEBUGGING_INFO 1
-/* ... but we don't actually support full dwarf2 EH. */
-#define MUST_USE_SJLJ_EXCEPTIONS 1
/* The return address is pushed on the stack. */
#define INCOMING_RETURN_ADDR_RTX gen_rtx_MEM (Pmode, gen_rtx_REG (Pmode, STACK_POINTER_REGNUM))
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index fd3f426..d6c2a20 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -8878,13 +8878,6 @@ This variable should be set to @code{true} if the target ABI requires unwinding
tables even when exceptions are not used.
@end deftypevr
-@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 DONT_USE_BUILTIN_SETJMP
Define this macro to 1 if the @code{setjmp}/@code{longjmp}-based scheme
should use the @code{setjmp}/@code{longjmp} functions from the C library
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index ea4c843..733e1f9 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -8848,13 +8848,6 @@ This variable should be set to @code{true} if the target ABI requires unwinding
tables even when exceptions are not used.
@end deftypevr
-@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 DONT_USE_BUILTIN_SETJMP
Define this macro to 1 if the @code{setjmp}/@code{longjmp}-based scheme
should use the @code{setjmp}/@code{longjmp} functions from the C library
diff --git a/gcc/system.h b/gcc/system.h
index 73e5139..3b58974 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -785,7 +785,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
SWITCH_CURTAILS_COMPILATION SWITCH_TAKES_ARG WORD_SWITCH_TAKES_ARG \
TARGET_OPTION_TRANSLATE_TABLE HANDLE_PRAGMA_PACK_PUSH_POP \
HANDLE_SYSV_PRAGMA HANDLE_PRAGMA_WEAK CONDITIONAL_REGISTER_USAGE \
- FUNCTION_ARG_BOUNDARY
+ FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 35cd592..f55fa85 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -1311,12 +1311,6 @@ default_debug_unwind_info (void)
enum unwind_info_type
default_except_unwind_info (void)
{
- /* ??? Change the one user to the hook, then poison this. */
-#ifdef MUST_USE_SJLJ_EXCEPTIONS
- if (MUST_USE_SJLJ_EXCEPTIONS)
- return UI_SJLJ;
-#endif
-
/* Obey the configure switch to turn on sjlj exceptions. */
#ifdef CONFIG_SJLJ_EXCEPTIONS
if (CONFIG_SJLJ_EXCEPTIONS)