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

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Before the
1281      // Then add the negative of each pair:
1282      // ABS(op1) = [5,20] would yield op1 => [-20,-5][5,20].
1283      r.union_ (frange (type,
1284                        real_value_negate (&positives.upper_bound ()),
1285                        real_value_negate (&positives.lower_bound ())));
part r is
[frange] double [0.0 (0x0.0p+0),
1.79769313486231570814527423731704356798070567525844996599e+308
(0x0.fffffffffffff8p+1024)]
so that is still ok.
So perhaps we need to clear_nan on the newly created frange for the negative
part
(or, if r is a maybe nan make sure it has varying bit and if it is not nan, not
be in there).

Reply via email to