------- 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