[Bug c/59039] Undocumented __builtin_longjmp/__builtin_setjmp
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 7 09:09:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59039
--- Comment #26 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> I would not say that __builtin_setjmp is more efficient. It really saves
> just as many registers, except that it has help from the containing
> function's prologue/epilogue to do so, rather than saving them all within the
> jmpbuf.
[As well as from the register allocator]. I think it's more efficient though,
for example if you implement an SJLJ exception scheme on top of it.
> I'm not keen on encouraging any user to use these functions.
> It's simply not worth it to us as maintainers.
>
> The fact that we've got code in libgcc that uses them means that we must
> continue to have these functions callable by some means. If folks would be
> happier if we hid these from users by making them only callable with some
> special option like -fbuild-libgcc, I could live with that.
IMO it's too late to hide them after 2 decades. If people are really afraid of
them, then we could keep the status quo.
More information about the Gcc-bugs
mailing list