0.8.20.14:
[sbcl.git] / BUGS
diff --git a/BUGS b/BUGS
index 24a3d3c..e6de843 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1523,6 +1523,10 @@ WORKAROUND:
  (used on non-x86 platforms) being a more complete solution then what
  is done on x86.
 
+ On x86/linux large portions of tests/debug.impure.lisp have been commented
+ out as failures. The probable culprit for these problems is in x86-call-context
+ (things work fine on x86/freebsd).
+
  More generally, the debugger internals suffer from excessive x86/non-x86
  conditionalization and OAOOMization: refactoring the common parts would
  be good.
@@ -1536,7 +1540,11 @@ WORKAROUND:
  (sparc and x86 at least)
 
  Since SBCL 0.8.20.1 this is hidden unless *SHOW-ENTRY-POINT-DETAILS*
- is true.
+ is true (instead there appear two TEST frames at least on ppc). The
+ underlying cause seems to be that SB-C::TAIL-ANNOTATE will not merge
+ the tail-call for the XEP, since Python has by that time proved that
+ the function can never return; same happens if the function holds an
+ unconditional call to ERROR.
 
 355: change-class of generic-function
     (reported by Bruno Haible)
@@ -2051,3 +2059,27 @@ WORKAROUND:
     fatal error encountered in SBCL pid 8356:
     GC invariant lost, file "gc-common.c", line 605
   on ppc/darwin. Test disabled for the duration.
+
+375: MISC.555
+    (compile nil '(lambda (p1)
+                   (declare (optimize (speed 1) (safety 2) (debug 2) (space 0))
+                            (type keyword p1))
+                   (keywordp p1)))
+
+  fails on hairy type check in IR2.
+
+  1. KEYWORDP is MAYBE-INLINE expanded (before TYPEP-like
+     transformation could eliminate it).
+
+  2. From the only call of KEYWORDP the type of its argument is
+     derived to be KEYWORD.
+
+  2. Type check for P1 is generated; it uses KEYWORDP to perform the
+     check, and so references the local function; from the KEYWORDP
+     argument type new CAST to KEYWORD is generated. The compiler
+     loops forever.
+
+376: MISC.563
+  Type deriver for CONJUGATE thinks that it returns an object of the
+  same type as its argument, which is wrong for such types as (EQL
+  #C(1 2)).