X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdynamic-extent.impure.lisp;h=ff26c1dfbd393f3cab80203dfac142c5bfadc798;hb=d4b41d5e69c921361e0978e5d4a7519ae54b9c6a;hp=a74c186bfa0ba533f924b6049a448036b75aea40;hpb=dc38fdd88ed505af945ee951635b396e129edb28;p=sbcl.git diff --git a/tests/dynamic-extent.impure.lisp b/tests/dynamic-extent.impure.lisp index a74c186..ff26c1d 100644 --- a/tests/dynamic-extent.impure.lisp +++ b/tests/dynamic-extent.impure.lisp @@ -12,7 +12,7 @@ ;;;; more information. (when (eq sb-ext:*evaluator-mode* :interpret) - (sb-ext:quit :unix-status 104)) + (sb-ext:exit :code 104)) (load "compiler-test-util.lisp") (use-package :ctu) @@ -252,6 +252,13 @@ (true v) nil)) +(defun-with-dx make-array-on-stack-11 () + (let ((v (make-array (the integer (opaque-identity 3)) :initial-element 12.0d0 :element-type 'double-float))) + (declare (sb-int:truly-dynamic-extent v)) + (true v) + (true v) + nil)) + (defun-with-dx vector-on-stack (x y) (let ((v (vector 1 x 2 y 3))) (declare (sb-int:truly-dynamic-extent v)) @@ -577,16 +584,18 @@ (assert-no-consing (vector-on-stack :x :y))) (with-test (:name (:no-consing :specialized-dx-vectors) - :fails-on '(and :sunos :x86) + :fails-on :x86 :skipped-on `(not (and :stack-allocatable-vectors :c-stack-is-control-stack))) (assert-no-consing (make-array-on-stack-6)) (assert-no-consing (make-array-on-stack-7)) (assert-no-consing (make-array-on-stack-8)) (assert-no-consing (make-array-on-stack-9)) - (assert-no-consing (make-array-on-stack-10))) + (assert-no-consing (make-array-on-stack-10)) + (assert-no-consing (make-array-on-stack-11))) -(with-test (:name (:no-consing :dx-raw-instances) :fails-on :ppc :skipped-on '(not :raw-instance-init-vops)) +(with-test (:name (:no-consing :dx-raw-instances) :skipped-on '(or (not :raw-instance-init-vops) + (not (and :gencgc :c-stack-is-control-stack)))) (let (a b) (setf a 1.24 b 1.23d0) (assert-no-consing (make-foo2-on-stack a b)))