From 19779181c660ad9941d23fd43e637426a613b1a7 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Wed, 24 Nov 2010 23:37:33 +0000 Subject: [PATCH] targhooks.c (default_except_unwind_info): Remove MUST_USE_SJLJ_EXCEPTIONS case. * 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. From-SVN: r167131 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/h8300/h8300.c | 3 +++ gcc/config/h8300/h8300.h | 4 +--- gcc/doc/tm.texi | 7 ------- gcc/doc/tm.texi.in | 7 ------- gcc/system.h | 2 +- gcc/targhooks.c | 6 ------ 7 files changed, 15 insertions(+), 24 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 85ff5a9..a637c6c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,15 @@ 2010-11-24 Nathan Froyd + * 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. + +2010-11-24 Nathan Froyd + * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN. * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. 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 b58ee7b..6cb2507 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -8888,13 +8888,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 f230307..1e4432b 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -8858,13 +8858,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 fbeab0f..41e8657 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -786,7 +786,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) -- 2.7.4