On Sep 6, 2011, at 1:12 AM, Eric Botcazou wrote: >> That's a good question, and one that I haven't got to the bottom of - >> but the exclusion was there in the original code-base [still in the >> vendor's tree too]. >> (also, the rs6000 pro/epilogue code is not the easiest to navigate). > > Assuming that this is because the non-local goto handler needs to find a > register saved at a canonical place, you can try !cfun->has_nonlocal_label.
> This will subsume the original check !(cfun->calls_setjmp && flag_exceptions) > as both the regular SJLJ scheme and the GNAT SJLJ scheme use it. I can't confirm the assumption, but, if it holds, sounds nicer to me, thanks.