2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
+ * 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 <froydnj@codesourcery.com>
+
* 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.
#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;
#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))
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
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
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 \
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)