From 14e60ecd5397b69a1c5798bc6c95f564e5c93d84 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Fri, 22 Feb 2008 16:54:48 +0000 Subject: [PATCH] 1.0.14.40: make deftransforms for UB-BASH-COPY have consistent return type * Make REPLACE *CHECK-CONSISTENCY* happy: the transforms used to have return type (VALUES NULL &OPTIONAL), whereas the out-of-line definitions had return type (VALUES &OPTIONAL). --- src/compiler/seqtran.lisp | 3 ++- tests/seq.pure.lisp | 11 +++++++++++ version.lisp-expr | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/compiler/seqtran.lisp b/src/compiler/seqtran.lisp index fa64712..3f70b07 100644 --- a/src/compiler/seqtran.lisp +++ b/src/compiler/seqtran.lisp @@ -736,7 +736,8 @@ (do ((i end (1- i))) ((<= i ,src-word)) (setf (sb!kernel:%vector-raw-bits dst (1- i)) - (sb!kernel:%vector-raw-bits src (1- i))))))))) + (sb!kernel:%vector-raw-bits src (1- i)))) + (values)))))) #.(loop for i = 1 then (* i 2) collect `(deftransform ,(intern (format nil "UB~D-BASH-COPY" i) diff --git a/tests/seq.pure.lisp b/tests/seq.pure.lisp index 91b1971..fcba6c9 100644 --- a/tests/seq.pure.lisp +++ b/tests/seq.pure.lisp @@ -194,3 +194,14 @@ (multiple-value-bind (seq err) (ignore-errors (copy-seq '(1 2 3 . 4))) (assert (not seq)) (assert (typep err 'type-error)))) + +;;; UBX-BASH-COPY transform had an inconsistent return type +(let ((sb-c::*check-consistency* t)) + (handler-bind ((warning #'error)) + (compile nil + '(lambda (l) + (declare (type fixnum l)) + (let* ((bsize 128) + (b1 (make-array bsize :element-type '(unsigned-byte 8))) + (b2 (make-array l :element-type '(unsigned-byte 8)))) + (replace b1 b2 :start2 0 :end2 l)))))) diff --git a/version.lisp-expr b/version.lisp-expr index 3b66c06..7fc7541 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.14.39" +"1.0.14.40" -- 1.7.10.4