> AFAIK Ada and Go use -fnon-call-exceptions by default and heavily rely on > it.
Right, the Ada compiler uses -fnon-call-exceptions -fdelete-dead-exceptions and ACATS could not be passed with optimization enabled without the former. Btw, there are a couple of improper direct uses of flag_non_call_exceptions in the sources, may I change them to cfun->can_throw_non_call_exceptions? gimple-ssa-isolate-paths.c: if (!flag_non_call_exceptions) gimple-ssa-isolate-paths.c: if (!flag_non_call_exceptions tree-ssa-alias.c: if (flag_non_call_exceptions && pi->pt.null) -- Eric Botcazou