aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2004-01-27 22:13:29 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2004-01-27 22:13:29 +0000
commit83810fcb9b469b73848da69f566ffca691e5f177 (patch)
tree352a8578ef802d7d076d66f286fd368b5d2e4b4c /gcc/except.c
parent9a1564bb251c2b31f1fd519eac22485f0a2d181a (diff)
downloadgcc-83810fcb9b469b73848da69f566ffca691e5f177.zip
gcc-83810fcb9b469b73848da69f566ffca691e5f177.tar.gz
gcc-83810fcb9b469b73848da69f566ffca691e5f177.tar.bz2
re PR target/7297 ([irix6 o32] sjlj exceptions fail)
PR target/7297 * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp(). From-SVN: r76754
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/except.c b/gcc/except.c
index b735cc1..8c4c726 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -412,10 +412,8 @@ init_eh (void)
tmp = build_int_2 (FIRST_PSEUDO_REGISTER + 2 - 1, 0);
#endif
#else
- /* This is 2 for builtin_setjmp, plus whatever the target requires
- via STACK_SAVEAREA_MODE (SAVE_NONLOCAL). */
- tmp = build_int_2 ((GET_MODE_SIZE (STACK_SAVEAREA_MODE (SAVE_NONLOCAL))
- / GET_MODE_SIZE (Pmode)) + 2 - 1, 0);
+ /* builtin_setjmp takes a pointer to 5 words. */
+ tmp = build_int_2 (5 * BITS_PER_WORD / POINTER_SIZE - 1, 0);
#endif
tmp = build_index_type (tmp);
tmp = build_array_type (ptr_type_node, tmp);