Wed Sep 16 17:03:00 GMT 2015
On Wed, 16 Sep 2015, Sujoy Saraswati wrote:
> > If -fsignaling-nans, then folding of expressions involving sNaNs should be
> > disabled, outside of static initializers - such expressions should not get
> > folded to return an sNaN (it's incorrect to fold sNaN + 1 to sNaN, for
> > example). I think existing code may ensure that (the HONOR_SNANS check in
> > const_binop, for example).
> Yes, with -fsignaling-nans, the const_binop will not fold since the
> HONOR_SNANS check is there. However, elsewhere, like const_unop, the
> code doesn't do this check.
Which would be a bug in the const_unop code, or the functions it calls
(for operations for which such a check is appropriate - as noted, abs and
negation should be folded unconditionally).
Joseph S. Myers
More information about the Gcc-patches