X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=42b6a8ecbd915eb797df93877eacbe9ede42bd06;hb=ad3beba970fab6e451a461c9f9b14faf4ef17718;hp=b8848f98e74c7045e3430e8926f477ec35759d70;hpb=eaa8a506790bb6ed627da617247bfd13802eb365;p=sbcl.git diff --git a/BUGS b/BUGS index b8848f9..42b6a8e 100644 --- a/BUGS +++ b/BUGS @@ -2072,3 +2072,27 @@ WORKAROUND: getting less ambitious about detecting shared list structure, or implementing the moral equivalent of EQUAL hash tables in a cycle-tolerant way. + +382: externalization unexpectedly changes array simplicity + COMPILE-FILE and LOAD + (defun foo () + (let ((x #.(make-array 4 :fill-pointer 0))) + (values (eval `(typep ',x 'simple-array)) + (typep x 'simple-array)))) + then (FOO) => T, NIL. + + Similar problems exist with SIMPLE-ARRAY-P, ARRAY-HEADER accessors + and all array dimension functions. + +383: ASH'ing non-constant zeros + Compiling + (lambda (b) + (declare (type (integer -2 14) b)) + (declare (ignorable b)) + (ash (imagpart b) 57)) + on PPC (and other platforms, presumably) gives an error during the + emission of FASH-ASH-LEFT/FIXNUM=>FIXNUM as the assembler attempts to + stuff a too-large constant into the immediate field of a PPC + instruction. Either the VOP should be fixed or the compiler should be + taught how to transform this case away, paying particular attention + to side-effects that might occur in the arguments to ASH.