0.7.4.25:
authorChristophe Rhodes <csr21@cam.ac.uk>
Tue, 11 Jun 2002 16:13:35 +0000 (16:13 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Tue, 11 Jun 2002 16:13:35 +0000 (16:13 +0000)
Bugfix for PPC floating point control handling
... document and test.
Minor text file tweaking, too

CREDITS
NEWS
src/compiler/ppc/parms.lisp
tests/compiler.impure.lisp
version.lisp-expr

diff --git a/CREDITS b/CREDITS
index 8800487..be40848 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -547,6 +547,9 @@ Nathan Froyd:
 Matthias Hoelzl:
   He reported and fixed COMPILE's misbehavior on macros.
 
+Espen S Johnsen:
+  He provided an ANSI-compliant version of CHANGE-CLASS for PCL.
+
 Arthur Lemmens:
   He found and fixed a number of SBCL bugs while partially porting
   SBCL to bootstrap under <some other Common Lisp system -- LispWorks
diff --git a/NEWS b/NEWS
index 309f2bd..418b9fb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1127,6 +1127,10 @@ changes in sbcl-0.7.4 relative to sbcl-0.7.3:
     |A\7fB|, instead of A as it used to.
 
 changes in sbcl-0.7.5 relative to sbcl-0.7.4:
+  * SBCL now runs on the Tru64 (aka OSF/1) operating system on the
+    Alpha architecture.
+  * More progress has been made toward bootstrapping under CLISP and
+    OpenMCL.
   * bug 140 fixed: redefinition of classes with different supertypes
     is now reflected in the type hierarchy. (thanks to Pierre Mai)
   * bug 158 fixed: the compiler can now deal with integer loop
index 5b87bcc..3f2a52c 100644 (file)
 (def!constant float-round-to-positive 2)
 (def!constant float-round-to-negative 3)
 
-(defconstant-eqx float-rounding-mode (byte 2 0) #'equalp)        ; RD 
-(defconstant-eqx float-sticky-bits (byte 10 19) #'equalp)
-(defconstant-eqx float-traps-byte (byte 6 3) #'equalp)
-(defconstant-eqx float-exceptions-byte (byte 5 0) #'equalp)      ; cexc
+(defconstant-eqx float-rounding-mode (byte 2 0) #'equalp)        ; RD
+;;; FIXME I: Beware, all ye who trespass here. Despite its name,
+;;; FLOAT-STICKY-BITS is not the byte specifier for sticky bits in the
+;;; floating point control word. It is more like "accrued exceptions"
+;;; where FLOAT-EXCEPTIONS-BYTE is "current exceptions". Consequently,
+;;; on architectures where there is no "current exceptions"
+;;; FLOAT-EXCEPTIONS-BYTE and FLOAT-STICKY-BITS had better be the
+;;; same. 
+;;;
+;;; FIXME II: So, I've now documented this in comments in the PowerPC
+;;; tree. This may not make it easy to find for when new architectures
+;;; get backends written...
+;;;
+;;; CSR, 2002-06-11
+(defconstant-eqx float-sticky-bits (byte 5 25) #'equalp)
+(defconstant-eqx float-traps-byte (byte 5 3) #'equalp)
+(defconstant-eqx float-exceptions-byte (byte 5 25) #'equalp)     ; cexc
 
 (def!constant float-fast-bit 2)                ; Non-IEEE mode
 
index a1e239b..de68a8a 100644 (file)
 (eval '(foo-2002-05-13))
 (compile 'foo-2002-05-13)
 (foo-2002-05-13) ; (The bug caused UNDEFINED-FUNCTION to be signalled here.)
+
+;;; floating point pain on the PPC.
+;;;
+;;; This test case used to fail to compile on most powerpcs prior to
+;;; sbcl-0.7.4.2x, as floating point traps were being incorrectly
+;;; masked.
+(defun floating-point-pain (x)
+  (declare (single-float x))
+  (log x))
 \f
 ;;;; tests not in the problem domain, but of the consistency of the
 ;;;; compiler machinery itself
index df97fa6..f94e9af 100644 (file)
@@ -18,4 +18,4 @@
 ;;; for internal versions, especially for internal versions off the
 ;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.4.24"
+"0.7.4.25"