X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fcompiler.impure.lisp;h=f91feb35d8d28e1f289d97ebb2df781d31063c61;hb=102b7c83b326855e16c3bc3ce4fa60c6d7aaba85;hp=ebd0b727f83a47f1707515c6175f9101abcde055;hpb=e0a4fab15834525fd043e6ef5adfd74a13af1450;p=sbcl.git diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index ebd0b72..f91feb3 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -1448,4 +1448,18 @@ (assert (default-values-bug-demo-main)) +;;; copy propagation bug reported by Paul Khuong + +(defun local-copy-prop-bug-with-move-arg (x) + (labels ((inner () + (values 1 0))) + (if x + (inner) + (multiple-value-bind (a b) + (inner) + (values b a))))) + +(assert (equal '(0 1) (multiple-value-list (local-copy-prop-bug-with-move-arg nil)))) +(assert (equal '(1 0) (multiple-value-list (local-copy-prop-bug-with-move-arg t)))) + ;;; success