X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=BUGS;h=94a87e1743b67aafc5c69ef352df963c919f476b;hb=947522ee16a30d43466c8f86efacee7003e5d85f;hp=042ad53f84015e0b4098b48c25c10fcbd8585072;hpb=f774359565ca753df2e64671613994f6ac568cfe;p=sbcl.git diff --git a/BUGS b/BUGS index 042ad53..94a87e1 100644 --- a/BUGS +++ b/BUGS @@ -1128,6 +1128,71 @@ Error in function C::GET-LAMBDA-TO-COMPILE: although the name of the uninitialized-element placeholder will be shorter. + The same thing happens if the compiler macro expansion of + EVERY into MAP is hand-expanded: + (defun bar2 (dims) + (if (block blockname + (map nil + (lambda (dim) + (let ((pred-value (funcall #'integerp dim))) + (unless pred-value + (return-from blockname + nil)))) + dims) + t) + 1 + 2)) + CMU CL doesn't have this compiler macro expansion, so it was + immune to the original bug in BAR, but once we hand-expand it + into BAR2, CMU CL 18c has the same bug. (Run (BAR '(NIL NIL)).) + + The native compiler handles it fine, both in SBCL and in CMU CL. + +120a: + The compiler incorrectly figures the return type of + (DEFUN FOO (FRAME UP-FRAME) + (IF (OR (NOT FRAME) + T) + FRAME + "BAR")) + as NIL. + + This problem exists in CMU CL 18c too. When I reported it on + cmucl-imp@cons.org, Raymond Toy replied 23 Aug 2001 with + a partial explanation, but no fix has been found yet. + +120b: + Even in sbcl-0.pre7.x, which is supposed to be free of the old + non-ANSI behavior of treating the function return type inferred + from the current function definition as a declaration of the + return type from any function of that name, the return type of NIL + is attached to FOO in 120a above, and used to optimize code which + calls FOO. + +121: + In sbcl-0.7.14.flaky4.10, the last MAPTEST test case at the end + of tests/map-tests.impure.lisp dies with + The value + #> + :ARGS (#)> + is not of type + SB-C::COMBINATION. + in + (SB-C::GENERATE-BYTE-CODE-FOR-REF + # + # + :WHERE-FROM :DECLARED + :KIND :GLOBAL-FUNCTION>> + #) KNOWN BUGS RELATED TO THE IR1 INTERPRETER