From fc4e2acaf9cd1a54c29834596b61634badef85e2 Mon Sep 17 00:00:00 2001
From: toy <toy>
Date: Sat, 17 Jan 2004 03:35:36 +0000
Subject: [PATCH] Revert previous change.  It causes this function to infloop,
 blowing the stack:

(defun foo (x)
  (declare (type (member 0d0 -0d0) x))
  (/ 46666 x))
---
 compiler/srctran.lisp | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/compiler/srctran.lisp b/compiler/srctran.lisp
index f6a0b8fea..c7324714b 100644
--- a/compiler/srctran.lisp
+++ b/compiler/srctran.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.141 2004/01/10 05:07:19 toy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.142 2004/01/17 03:35:36 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -367,12 +367,8 @@
 (defun interval-range-info (x &optional (point 0))
   (declare (type interval x))
   (labels ((signed->= (x y)
-	     ;; If one of the args is a float, we need to do a float
-	     ;; comparison to get the correct value when testing for a
-	     ;; signed-zero.  That is, we want (>= -0.0 0) to be false.
-	     (if (and (zerop x) (zerop y)
-		      (or (floatp x) (floatp y)))
-		 (>= (float-sign (float x)) (float-sign (float y)))
+	     (if (and (zerop x) (zerop y) (floatp x) (floatp y))
+		 (>= (float-sign x) (float-sign y))
 		 (>= x y))))
     (let ((lo (interval-low x))
 	  (hi (interval-high x)))
-- 
GitLab