From: Alexey D. <ade...@us...> - 2005-02-20 18:53:59
|
Update of /cvsroot/sbcl/sbcl/src/compiler In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32321/src/compiler Modified Files: array-tran.lisp Log Message: 0.8.19.34: * Fix MISC.527: DEFTRANSFORM for BIT-AND and similar for vectors use (ARRAY-DIMENSION v 0) instead if LENGTH to get the full vector size. Index: array-tran.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/array-tran.lisp,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- array-tran.lisp 30 Oct 2004 14:36:06 -0000 1.66 +++ array-tran.lisp 20 Feb 2005 18:53:15 -0000 1.67 @@ -757,7 +757,7 @@ (bit-vector bit-vector &optional null) * :policy (>= speed space)) `(,',fun bit-array-1 bit-array-2 - (make-array (length bit-array-1) :element-type 'bit))) + (make-array (array-dimension bit-array-1 0) :element-type 'bit))) ;; If result is T, make it the first arg. (deftransform ,fun ((bit-array-1 bit-array-2 result-bit-array) (bit-vector bit-vector (eql t)) *) @@ -778,7 +778,7 @@ (bit-vector &optional null) * :policy (>= speed space)) '(bit-not bit-array-1 - (make-array (length bit-array-1) :element-type 'bit))) + (make-array (array-dimension bit-array-1 0) :element-type 'bit))) (deftransform bit-not ((bit-array-1 result-bit-array) (bit-vector (eql t))) '(bit-not bit-array-1 bit-array-1)) |