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