On May 15, 2014, at 12:55 AM, Eric Botcazou <ebotca...@adacore.com> wrote: > No, that's too complicated and risky, just do the following: > > /* builtin_setjmp takes a pointer to 5 words or pointers. */ > if (POINTER_SIZE > BITS_PER_WORD) > tmp = size_int (4); > else > tmp = size_int (5 * BITS_PER_WORD / POINTER_SIZE - 1); > > which is simple and safe.
But, fails whenever the size of the mode of the save area is bigger than a certain amount… On my port, the size taken up by the save area is large enough to cause this to fail. :-( The correct bug fix would have my port not fail.