diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f77c788a754..1d60c3a3067 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sat Oct 30 22:19:26 1999 Jeffrey A Law (law@cygnus.com) + + * fold-const.c (fold): Fix thinko when optimizing comparisons + against -0.0. + Sat Oct 30 21:32:17 1999 David Starner * gcc.texi (Passes): Update front-end files to their current diff --git a/gcc/fold-const.c b/gcc/fold-const.c index f633fa85f13..49f61b8e556 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -5751,7 +5751,8 @@ fold (expr) REAL_VALUE_NEGATE (TREE_REAL_CST (arg1))))); /* IEEE doesn't distinguish +0 and -0 in comparisons. */ /* a CMP (-0) -> a CMP 0 */ - if (REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (arg1))) + if (TREE_CODE (arg1) == REAL_CST + && REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (arg1))) return fold (build (code, type, arg0, build_real (TREE_TYPE (arg1), dconst0))); }