Update of /cvsroot/sbcl/sbcl/src/code
In directory sc8-pr-cvs1:/tmp/cvs-serv32482/src/code
Modified Files:
early-extensions.lisp float.lisp numbers.lisp
Log Message:
0.8.2.29:
* Fix bug in ASSQ, reported by Paul Dietz;
* FLOAT-RADIX IGNOREs its argument as was suggested by Clemens
Heitzinger;
* fix return type declaration for FFLOOR and friends (reported
by Paul Dietz);
* SB-C::DESCRIBE-COMPONENT prints blocks in IR1 component "as
is";
* introduced "good" (transparent) modular functions;
... LOGAND and LOGIOR are :GOOD;
* on X86: transform 32BIT-LOGICAL-xxx into LOGXXX; implement
LOGXOR-MOD32; change implementation of FAST-+-MOD32: inherit
without changes from FAST-+/UNSIGNED=>UNSIGNED :-).
(On X86 SB-MD5 may be implemented without 32BIT-LOGICAL-xxx
and evil TRULY-THE.)
Index: early-extensions.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/early-extensions.lisp,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- early-extensions.lisp 16 Jul 2003 08:26:00 -0000 1.62
+++ early-extensions.lisp 15 Aug 2003 08:21:07 -0000 1.63
@@ -288,7 +288,7 @@
;; just define ASSQ explicitly in terms of more primitive
;; operations:
(dolist (pair alist)
- (when (eq (car pair) item)
+ (when (and pair (eq (car pair) item))
(return pair))))
;;; like (DELETE .. :TEST #'EQ):
Index: float.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/float.lisp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- float.lisp 3 Aug 2003 11:32:29 -0000 1.19
+++ float.lisp 15 Aug 2003 08:21:07 -0000 1.20
@@ -314,6 +314,7 @@
(defun float-radix (x)
#!+sb-doc
"Return (as an integer) the radix b of its floating-point argument."
+ (declare (ignore x))
2)
;;;; INTEGER-DECODE-FLOAT and DECODE-FLOAT
Index: numbers.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/numbers.lisp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- numbers.lisp 13 Aug 2003 09:40:24 -0000 1.18
+++ numbers.lisp 15 Aug 2003 08:21:07 -0000 1.19
@@ -1355,6 +1355,7 @@
collect `(prepare-argument ,arg)))))))
(loop for infos being each hash-value of sb!c::*modular-funs*
;; FIXME: We need to process only "toplevel" functions
+ unless (eq infos :good)
do (loop for info in infos
for name = (sb!c::modular-fun-info-name info)
and width = (sb!c::modular-fun-info-width info)
|