------- Comment #35 from ebotcazou at gcc dot gnu dot org  2009-04-16 09:13 
-------
> Ok, so we _do_ run lower_eh_constructs, but
> 
>   formal = p__proc_next (formal);
> 
> returns false for stmt_could_throw_p (stmt).  Why?  (Not that I can follow
> the Ada testcase ... but I suppose the above function call returns abnormally)

There are no exceptions.

> Is this Ada playing games behind the middle-end and implementing exceptions
> on its own pretending that there are none?  In which case the LHS of the
> above stmt should be marked volatile at least - after all non-EH SJLJ stuff
> would need to follow C / POSIX requirements, no?

Ada isn't playing anything, it's just using the existing generic support for
__builtin_setjmp / __builtin_longjmp and nonlocal gotos which is distinct
from the exception machinery.  Compensating bits need to be added for it too.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39625

Reply via email to