X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.impure-cload.lisp;h=ade85555fec839e9178398846f63a11888b711e8;hb=HEAD;hp=bf6231eb05c2d9165e7f11479f23b75833db5ac2;hpb=f09f67b4233004079affc70de2ef2d49f27ca91a;p=sbcl.git diff --git a/tests/compiler.impure-cload.lisp b/tests/compiler.impure-cload.lisp index bf6231e..ade8555 100644 --- a/tests/compiler.impure-cload.lisp +++ b/tests/compiler.impure-cload.lisp @@ -531,6 +531,30 @@ (load-time-value (cons t t))) (test-util:with-test (:name (load-time-value :type-smartness/cload)) (assert (eq 'cons (load-time-value-type-derivation-test-1))) - (assert (eq 'number (load-time-value-type-derivation-test-2))) + (assert (equal '(integer 10) (load-time-value-type-derivation-test-2))) (assert (not (ctu:find-value-cell-values #'load-time-value-auto-read-only-p))) (assert (ctu:find-value-cell-values #'load-time-value-boring))) + +(defun regression-1.0.29.54 () + (logior (1+ most-positive-fixnum) + (load-time-value (the fixnum (eval 1)) t))) + +(test-util:with-test (:name :regression-1.0.29.54) + (assert (= (+ most-positive-fixnum 2) (regression-1.0.29.54))) + (assert (eq 42 + (funcall (compile nil + `(lambda () + (load-time-value (values 42)))))))) + +(defun mv-call-regression-1.0.43.57-foo (a c d x y) + (values a c d x y)) +(defun mv-call-regression-1.0.43.57-bar (a b c d) + (declare (number a b c d)) + (values a b c d)) +(defun mv-call-regression-1.0.43.57-quux (a sxx sxy syy) + (multiple-value-call #'mv-call-regression-1.0.43.57-foo + (mv-call-regression-1.0.43.57-bar sxx sxy sxy syy) + a)) +(test-util:with-test (:name :mv-call-regression-1.0.43.57) + ;; This used to signal a bogus argument-count error. + (mv-call-regression-1.0.43.57-quux 1s0 10s0 1s0 10s0))