X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdynamic-extent.impure.lisp;h=78923f3717f33f669d983a2e6c291ca6769fac2f;hb=975f1932acc3a8e90fb31d2b055bfbdde78ea927;hp=4ec3d4d055c1537e04feed9f2961140ab168c7f8;hpb=6d69dfcc438b3530fa922e518919158ccf1af497;p=sbcl.git diff --git a/tests/dynamic-extent.impure.lisp b/tests/dynamic-extent.impure.lisp index 4ec3d4d..78923f3 100644 --- a/tests/dynamic-extent.impure.lisp +++ b/tests/dynamic-extent.impure.lisp @@ -160,6 +160,16 @@ (true dx) nil)) +;;; multiple uses for dx lvar + +(defun-with-dx multiple-dx-uses () + (let ((dx (if (true t) + (list 1 2 3) + (list 2 3 4)))) + (declare (dynamic-extent dx)) + (true dx) + nil)) + ;;; with-spinlock should use DX and not cons (defvar *slock* (sb-thread::make-spinlock :name "slocklock")) @@ -201,6 +211,7 @@ (assert-no-consing (cons-on-stack 42)) (assert-no-consing (nested-dx-conses)) (assert-no-consing (nested-dx-lists)) + (assert-no-consing (multiple-dx-uses)) ;; Not strictly DX.. (assert-no-consing (test-hash-table)) #+sb-thread