summaryrefslogtreecommitdiff
path: root/gcc/unwind-generic.h
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-18 20:49:12 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-18 20:49:12 +0000
commit1bd4349495e451a5158ddf5b95210ec6c4c2f351 (patch)
treecdc7fc54ba1d87f25a40abeb7252e518dc5a4f8a /gcc/unwind-generic.h
parentaa71ecd4150f0dc5505b7e7a359ad57d238b8b3c (diff)
downloadgcc-1bd4349495e451a5158ddf5b95210ec6c4c2f351.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136912 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unwind-generic.h')
-rw-r--r--gcc/unwind-generic.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/unwind-generic.h b/gcc/unwind-generic.h
index aca6639dc88..5e0f608d8ea 100644
--- a/gcc/unwind-generic.h
+++ b/gcc/unwind-generic.h
@@ -43,8 +43,8 @@ extern "C" {
/* @@@ The IA-64 ABI uses uint64 throughout. Most places this is
inefficient for 32-bit and smaller machines. */
-typedef unsigned _Unwind_Word __attribute__((__mode__(__word__)));
-typedef signed _Unwind_Sword __attribute__((__mode__(__word__)));
+typedef unsigned _Unwind_Word __attribute__((__mode__(__unwind_word__)));
+typedef signed _Unwind_Sword __attribute__((__mode__(__unwind_word__)));
#if defined(__ia64__) && defined(__hpux__)
typedef unsigned _Unwind_Ptr __attribute__((__mode__(__word__)));
#else