On Mon, Jun 25, 2012 at 10:46 AM, Eric Botcazou
<ebotca...@libertysurf.fr> wrote:
> It looks like DONT_USE_BUILTIN_SETJMP was invented for the IA-64, probably
> because of the Register Stack Engine.  But SPARC also has register windows,
> albeit less sophisticated, and can do without it.  Morever, the Ada compiler
> uses __builtin_setjmp/__builtin_longjmp internally on the host (EH is used for
> error recovery) and is known to work fine on IA-64/Linux, HP-UX and VMS.
>
> In the end, it would appear that DONT_USE_BUILTIN_SETJMP was a quick trick to
> solve specific issues that could very likely have been solved otherwise.  We
> should probably keep it for the sake of IA-64 and get rid of it for all other
> architectures, documenting that it isn't to be used in normal circumstances.

ia64 is now the only remaining architecture that defines
DONT_USE_BUILTIN_SETJMP and JMP_BUF_SIZE.

If __builtin_setjmp actually does work for ia64, why should we keep
DONT_USE_BUILTIN_SETJMP? Could it break user code somehow?

Ciao!
Steven

Reply via email to