[patch] prevent tree sinking of trapping stmts
Thu Sep 4 09:04:00 GMT 2014
> Well, but that's a bug in the Ada frontend if it does exceptions behind
> GCCs back. ISTR that the middle-end also supports a SJLJ EH scheme?
No and yes respectively. As already explained multiple times, GNAT uses an
SJLJ scheme which is entirely managed by the front-end and (manually) lowered
into __builtin_setjmp/__builtin_longjmp and transparent to the middle-end,
i.e. it doesn't use the middle-end EH support at all. That's by design, as it
frees us from linking with libgcc_eh. I don't think that we want to change
that and I'm wary of trying to let middle-end EH stuff creep in there.
We could indeed use the middle-end SJLJ EH scheme (and we experimented with it
in the past) but it's an entirely separate debate.
More information about the Gcc-patches