X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=e3bb4d525f6db876394ac31ee20f3d032f546f94;hb=b282ecc0240c6dc67aaeea2d64046d411738385a;hp=14cd32a254f74169e8992f393b9bef37da6936fc;hpb=8b0f847a56feacdfcbc8dae20cdc84bb91bf4c98;p=sbcl.git diff --git a/BUGS b/BUGS index 14cd32a..e3bb4d5 100644 --- a/BUGS +++ b/BUGS @@ -616,12 +616,6 @@ WORKAROUND: The careful type of X is {2k} :-(. Is it really important to be able to work with unions of many intervals? -190: "PPC/Linux pipe? buffer? bug" - In sbcl-0.7.6, the run-program.test.sh test script sometimes hangs - on the PPC/Linux platform, waiting for a zombie env process. This - is a classic symptom of buffer filling and deadlock, but it seems - only sporadically reproducible. - 191: "Miscellaneous PCL deficiencies" (reported by Alexey Dejneka sbcl-devel 2002-08-04) a. DEFCLASS does not inform the compiler about generated @@ -1228,21 +1222,6 @@ WORKAROUND: returns, values returned by (EXT) must be removed from under that of (INT). -299: (aka PFD MISC.186) - * (defun foo () - (declare (optimize (debug 1))) - (multiple-value-call #'list - (if (eval t) (eval '(values :a :b :c)) nil) ; (*) - (catch 'foo (throw 'foo (values :x :y))))) - FOO - * (foo) - (:X :Y) - - Operator THROW is represented with a call of a not returning funny - function %THROW, unknown values stack after the call is empty, so - the unknown values LVAR (*) is considered to be dead after the call - and, thus, before it and is popped by the stack analysis. - 300: (reported by Peter Graves) Function PEEK-CHAR checks PEEK-TYPE argument type only after having read a character. This is caused with EXPLICIT-CHECK attribute in DEFKNOWN. The similar problem @@ -1250,3 +1229,53 @@ WORKAROUND: less error prone to have EXPLICIT-CHECK be a local declaration, being put into the definition, instead of an attribute being kept in a separate file; maybe also put it into SB-EXT? + +301: ARRAY-SIMPLE-=-TYPE-METHOD breaks on corner cases which can arise + in NOTE-ASSUMED-TYPES + In sbcl-0.8.7.32, compiling the file + (defun foo (x y) + (declare (type integer x)) + (declare (type (vector (or hash-table bit)) y)) + (bletch 2 y)) + (defun bar (x y) + (declare (type integer x)) + (declare (type (simple-array base (2)) y)) + (bletch 1 y)) + gives the error + failed AVER: "(NOT (AND (NOT EQUALP) CERTAINP))" + +302: Undefined type messes up DATA-VECTOR-REF expansion. + Compiling this file + (defun dis (s ei x y) + (declare (type (simple-array function (2)) s) (type ei ei)) + (funcall (aref s ei) x y)) + on sbcl-0.8.7.36/X86/Linux causes a BUG to be signalled: + full call to SB-KERNEL:DATA-VECTOR-REF + +303: "nonlinear LVARs" (aka MISC.293) + (defun buu (x) + (multiple-value-call #'list + (block foo + (multiple-value-prog1 + (eval '(values :a :b :c)) + (catch 'bar + (if (> x 0) + (return-from foo + (eval `(if (> ,x 1) + 1 + (throw 'bar (values 3 4))))))))))) + + (BUU 1) returns garbage. + + The problem is that both EVALs sequentially write to the same LVAR. + +305: + (Reported by Dave Roberts.) + Local INLINE/NOTINLINE declaration removes local FTYPE declaration: + + (defun quux (x) + (declare (ftype (function () (integer 0 10)) fee) + (inline fee)) + (1+ (fee))) + + uses generic arithmetic with INLINE and fixnum without.