[patch] prevent tree sinking of trapping stmts

Eric Botcazou ebotcazou@adacore.com
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.

Eric Botcazou

More information about the Gcc-patches mailing list