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

Drea Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldyh at gcc dot gnu.org

--- Comment #2 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Folding statement: if (e_14 != 0.0)
Folding predicate e_14 != 0.0 to 1

Global Exported: e_14 = [frange] double [-1.0e+0 (-0x0.8p+1), -0.0
(-0x0.0p+0)][1.0e+0 (0x0.8p+1), 1.0e+0 (0x0.8p+1)]


But comparing equal against 0.0 means if the range includes -0.0 or 0.0 (that
is the only exception for the finite case). So `a == -0.0` and `a == 0.0` are
the same and should be true for both 0.0 and -0.0.

Reply via email to