X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.impure-cload.lisp;h=9da9acf404028ad322050d5e54d7d64418aa3f83;hb=4d0b87793a047baecf2403455ddca1a82f44a41b;hp=bf6231eb05c2d9165e7f11479f23b75833db5ac2;hpb=f09f67b4233004079affc70de2ef2d49f27ca91a;p=sbcl.git diff --git a/tests/compiler.impure-cload.lisp b/tests/compiler.impure-cload.lisp index bf6231e..9da9acf 100644 --- a/tests/compiler.impure-cload.lisp +++ b/tests/compiler.impure-cload.lisp @@ -534,3 +534,27 @@ (assert (eq 'number (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))