diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 60d20073918..a4a237a31a5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,39 @@ 2008-06-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + * targhooks.h (struct gcc_target): New member unwind_word_mode. + (default_unwind_word_mode): Add prototype. + * targhooks.c (default_unwind_word_mode): New function. + (default_eh_return_filter_mode): Return targetm.unwind_word_mode () + instead of word_mode. + * target-def.h (TARGET_UNWIND_WORD_MODE): New macro. + (TARGET_INITIALIZER): Use it. + + * c-common.c (handle_mode_attribute): Support "unwind_word" + mode attribute. + * unwind-generic.h (_Unwind_Word, _Unwind_Sword): Use it. + + * except.c (init_eh): Use targetm.unwind_word_mode () instead of + word_mode to access SjLj_Function_Context member "data". + (sjlj_emit_dispatch_table): Likewise. Also, perform type + conversion from targetm.eh_return_filter_mode () to + targetm.unwind_word_mode () if they differ. + + * builtin-types.def (BT_UNWINDWORD): New primitive type. + (BT_FN_UNWINDWORD_PTR): New function type. + (BT_FN_WORD_PTR): Remove. + * builtins.def (BUILT_IN_EXTEND_POINTER): Use BT_FN_UNWINDWORD_PTR. + * except.c (expand_builtin_extend_pointer): Convert pointer to + targetm.unwind_word_mode () instead of word_mode. + + * config/spu/spu-protos.h (spu_eh_return_filter_mode): Remove. + * config/spu/spu.c (spu_eh_return_filter_mode): Remove. + (spu_unwind_word_mode): New function. + (TARGET_EH_RETURN_FILTER_MODE): Do not define. + (TARGET_UNWIND_WORD_MODE): Define. + * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS): Remove -D__word__=SI. + +2008-06-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + * config/spu/spu.c (reg_align): Remove. (regno_aligned_for_load): Also accept ARG_POINTER_REGNUM. (spu_split_load): Use regno_aligned_for_load instead of reg_align. |