> I prefer:
>
> #ifndef TARGET_BUILTIN_JMP_BUF_SIZE
> #define TARGET_BUILTIN_JMP_BUF_SIZE 5
> #endif
> /* builtin_setjmp takes a pointer to TARGET_BUILTIN_JMP_BUF_SIZE
> words. */ tmp = build_int_cst (NULL_TREE, TARGET_BUILTIN_JMP_BUF_SIZE *
> BITS_PER_WORD / POINTER_SIZE - 1);
>
> This doesn't change any existing port, which is nice, and on any port that
> needs a different number, they have a nice simply direct way to get it.
That's a little confusing though, because JMP_BUF_SIZE just above comes with a
different unit:
#ifdef JMP_BUF_SIZE
tmp = size_int (JMP_BUF_SIZE - 1);
#else
so I'd do:
/* builtin_setjmp takes a pointer to 5 words by default. */
#ifndef TARGET_BUILTIN_JMP_BUF_SIZE
#define TARGET_BUILTIN_JMP_BUF_SIZE (5 * BITS_PER_WORD / POINTER_SIZE)
#endif TARGET_BUILTIN_JMP_BUF_SIZE
tmp = size_int (TARGET_BUILTIN_JMP_BUF_SIZE - 1);
instead to be consistent.
--
Eric Botcazou