From: Christophe Rhodes Date: Wed, 12 Jun 2002 10:01:59 +0000 (+0000) Subject: 0.7.4.27: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=2cdebd8e23e447431e5b48371f0ff1225ee29cd7;p=sbcl.git 0.7.4.27: OpenMCL bootstrap fix ... (INTEGER-LENGTH x) is the same as (1+ (FLOOR (LOG x 2))), duh, and is anyway what I was trying to express. Log the bug in DIRECTORY --- diff --git a/BUGS b/BUGS index c59cea6..4573bce 100644 --- a/BUGS +++ b/BUGS @@ -1302,6 +1302,14 @@ WORKAROUND: (defun bug178alternative (x) (funcall (the nil x))) +179: + Reported by Miles Egan on sbcl-devel 11 June 2002: + In sbcl-0.7.4.x, doing + $ touch /tmp/bad\* + $ sbcl + * (directory "/tmp/*") + yields an error: "bad place for a wild pathname" + DEFUNCT CATEGORIES OF BUGS IR1-#: These labels were used for bugs related to the old IR1 interpreter. diff --git a/src/compiler/debug-dump.lisp b/src/compiler/debug-dump.lisp index 7d4d71c..19f6a0f 100644 --- a/src/compiler/debug-dump.lisp +++ b/src/compiler/debug-dump.lisp @@ -277,7 +277,8 @@ ;;; a vector whose element size is an integer multiple of output byte ;;; size. (defun coerce-to-smallest-eltype (seq) - (let ((maxoid #-sb-xc-host 0 + (let ((maxoid ;; It's probably better to avoid (UNSIGNED-BYTE 0). + #-sb-xc-host 1 ;; An initial value of 255 prevents us from ;; specializing the array to anything smaller than ;; (UNSIGNED-BYTE 8), which keeps the cross-compiler's @@ -294,7 +295,17 @@ (frob i)) (dovector (i seq) (frob i))) - (coerce seq `(simple-array (integer 0 ,maxoid) (*)))))) + (let ((specializer `(unsigned-byte ,(integer-length maxoid)))) + ;; cross-compilers beware! It would be possible for the + ;; upgraded-array-element-type of (UNSIGNED-BYTE 15) to be + ;; (SIGNED-BYTE 16), and this is completely valid by + ;; ANSI. However, the cross-compiler doesn't know how to dump + ;; SIGNED-BYTE arrays, so better make it break now if it ever + ;; will: + #+sb-xc-host + (aver (subtypep (upgraded-array-element-type specializer) + 'unsigned-byte)) + (coerce seq `(simple-array ,specializer (*))))))) ;;;; variables diff --git a/version.lisp-expr b/version.lisp-expr index 12c9337..a44f509 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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.26" +"0.7.4.27"