Comments
Patch
@@ -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;
@@ -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))
@@ -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
@@ -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
@@ -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 \
@@ -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)