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 jos...@codesourcery.com