From fafc90b4048e5150ee23a7c18e42900391cb8658 Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Fri, 25 May 2007 18:21:20 +0000
Subject: [PATCH] We were not correctly reconstructing double-double-float
 signed zeroes from fasl files.  Use %make-double-double-float instead of
 make-double-double-float because the latter does a renormalization, which
 trashes the sign.  The former constructs the double-double exactly as given,
 which is really what we want since the fasl has the correct components.

---
 code/load.lisp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/code/load.lisp b/code/load.lisp
index badc00ead..a7b21346f 100644
--- a/code/load.lisp
+++ b/code/load.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/code/load.lisp,v 1.91 2006/06/30 18:41:22 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/load.lisp,v 1.92 2007/05/25 18:21:20 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -882,7 +882,7 @@
 	      (hi-hi (fast-read-s-integer 4))
 	      (lo-lo (fast-read-u-integer 4))
 	      (lo-hi (fast-read-s-integer 4)))
-	  (kernel::make-double-double-float
+	  (kernel::%make-double-double-float
 	   (make-double-float hi-hi hi-lo)
 	   (make-double-float lo-hi lo-lo)))
       (done-with-fast-read-byte))))
@@ -902,14 +902,14 @@
 	       (real-hi-hi (fast-read-s-integer 4))
 	       (real-lo-lo (fast-read-u-integer 4))
 	       (real-lo-hi (fast-read-s-integer 4))
-	       (re (kernel::make-double-double-float
+	       (re (kernel::%make-double-double-float
 		    (make-double-float real-hi-hi real-hi-lo)
 		    (make-double-float real-lo-hi real-lo-lo)))
 	       (imag-hi-lo (fast-read-u-integer 4))
 	       (imag-hi-hi (fast-read-s-integer 4))
 	       (imag-lo-lo (fast-read-u-integer 4))
 	       (imag-lo-hi (fast-read-s-integer 4))
-	       (im (kernel::make-double-double-float
+	       (im (kernel::%make-double-double-float
 		    (make-double-float imag-hi-hi imag-hi-lo)
 		    (make-double-float imag-lo-hi imag-lo-lo))))
 	  (complex re im)) 
-- 
GitLab