https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104356

--- Comment #29 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #24)
> (In reply to Eric Botcazou from comment #22)
> > > So we'd add
> > > 
> > >   (!flag_non_call_exceptions || tree_expr_nonzero_p (@..))
> > > 
> > > to the offending and extra listed match.pd transforms.  I guess that works
> > > for me.
> > 
> > For me as well.
> 
> Oh, with the little detail that it should be
> cfun->can_throw_non_call_exceptions
> (with the unfortunate reference to cfun)

Why does cfun->can_throw_non_call_exceptions and
cfun->can_delete_dead_exceptions exist btw?  Now that both
flag_non_call_exceptions and flag_delete_dead_exceptions are Optimization,
set_cfun adjusts that on switching the function, so I think it be the same. 
Ok, {fn,fun,src_cfun}->can_throw_non_call_exceptions might be faster when it
looks at other functions than opt_for_fn.

Reply via email to