handling setjmp/longjmp in new front-end

Richard Henderson rth@redhat.com
Fri Dec 29 03:21:00 GMT 2000


On Fri, Dec 29, 2000 at 06:06:02AM -0500, Richard Kenner wrote:
>     The only extra restriction that I am aware of is that you cannot
>     __builtin_longjmp to a jmpbuf within the current function.
> 
> Why not?  This happens all the time in Ada.

Because we don't construct the CFG properly.  The non-local
goto handling (around which __builtin_longjmp is built)
assumes that a non-local goto leaves the current function.

This isn't a problem for -fsjlj-exceptions because the longjmp
happens within __sjthrow, never the catch function.

What are the odds of getting Ada to use GCC's language
independant exception handling code?


r~


More information about the Gcc mailing list