From 947522ee16a30d43466c8f86efacee7003e5d85f Mon Sep 17 00:00:00 2001 From: William Harold Newman Date: Fri, 24 Aug 2001 00:14:34 +0000 Subject: [PATCH] 0.pre7.14.flaky4.11: fixed map-tests.impure.lisp compiler problem: in GENERATE-BYTE-CODE-FOR-REF, replaced COMBINATION-ARGS with BASIC-COMBINATION-ARGS, since the CONTINUATION-DEST can be a MV-COMBINATION, not necessarily a COMBINATION (and BASIC-COMBINATION is a base class of both MV-COMBINATION and COMBINATION) --- BUGS | 25 +++++++++++++++++++++++++ src/compiler/byte-comp.lisp | 3 ++- src/compiler/node.lisp | 6 +++--- tests/map-tests.impure.lisp | 1 - version.lisp-expr | 2 +- 5 files changed, 31 insertions(+), 6 deletions(-) diff --git a/BUGS b/BUGS index 0d690db..94a87e1 100644 --- a/BUGS +++ b/BUGS @@ -1169,6 +1169,31 @@ Error in function C::GET-LAMBDA-TO-COMPILE: 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 (Note: At some point, the pure interpreter (actually a semi-pure diff --git a/src/compiler/byte-comp.lisp b/src/compiler/byte-comp.lisp index 0fe11fc..63e9885 100644 --- a/src/compiler/byte-comp.lisp +++ b/src/compiler/byte-comp.lisp @@ -1211,7 +1211,8 @@ (output-push-fdefinition segment (if (and found - (= (length (combination-args (continuation-dest cont))) + (= (length (basic-combination-args + (continuation-dest cont))) 2)) found name)))) diff --git a/src/compiler/node.lisp b/src/compiler/node.lisp index f304f10..a3c62d9 100644 --- a/src/compiler/node.lisp +++ b/src/compiler/node.lisp @@ -70,9 +70,9 @@ ;; A continuation that is the CONT of some node in BLOCK. (kind :unused :type (member :unused :deleted :inside-block :block-start :deleted-block-start)) - ;; The node which receives this value, if any. In a deleted continuation, - ;; this is null even though the node that receives this continuation may not - ;; yet be deleted. + ;; The node which receives this value, if any. In a deleted + ;; continuation, this is null even though the node that receives + ;; this continuation may not yet be deleted. (dest nil :type (or node null)) ;; If this is a NODE, then it is the node which is to be evaluated ;; next. This is always null in :DELETED and :UNUSED continuations, diff --git a/tests/map-tests.impure.lisp b/tests/map-tests.impure.lisp index 00a8552..930fa66 100644 --- a/tests/map-tests.impure.lisp +++ b/tests/map-tests.impure.lisp @@ -104,7 +104,6 @@ :fun-name oddp :arg-seqs (*vector-30*) :arg-types (vector)) -#+nil ; FIXME: dies on some sort of internal compiler error in 0.pre7.15 (maptest :result-seq '(12 24) :fun-name + :arg-seqs (*list-2* *list-2* *vector-30*) diff --git a/version.lisp-expr b/version.lisp-expr index 5d6f60b..27005dd 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -16,4 +16,4 @@ ;;; four numeric fields, is used for versions which aren't released ;;; but correspond only to CVS tags or snapshots. -"0.pre7.14.flaky4.10" +"0.pre7.14.flaky4.11" -- 1.7.10.4