diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f77c788a754134b128a5cd91188b7f2d729fe105..1d60c3a306707803dc88fbde812de63b68ade8a5 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  <dstarner98@aasaa.ofe.org>
 
 	* gcc.texi (Passes): Update front-end files to their current 
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index f633fa85f1387729aa47d24b55bf8698e8af8a8e..49f61b8e5566640eb9962c4a54da93d058300eeb 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)));
 	}