This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: handling setjmp/longjmp in new front-end
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Subject: Re: handling setjmp/longjmp in new front-end
- From: Richard Henderson <rth at redhat dot com>
- Date: Fri, 29 Dec 2000 03:21:06 -0800
- Cc: gcc at gcc dot gnu dot org
- References: <10012291106.AA02149@vlsi1.ultra.nyu.edu>
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~