1.0.27.30: minor octets.lisp cleanup
[sbcl.git] / tests / dynamic-extent.impure.lisp
index 6740a28..7867bae 100644 (file)
 
 (defun-with-dx dx-value-cell (x)
   ;; Not implemented everywhere, yet.
-  #+(or x86 x86-64 mips)
+  #+(or x86 x86-64 mips hppa)
   (let ((cell x))
     (declare (sb-int:truly-dynamic-extent cell))
     (flet ((f ()
 
 (defvar *a-cons* (cons nil nil))
 
-#+(or x86 x86-64 alpha ppc sparc mips)
+#+(or x86 x86-64 alpha ppc sparc mips hppa)
 (progn
   (assert-no-consing (dxclosure 42))
   (assert-no-consing (dxlength 1 2 3))
                14)
          ))))
 (assert (equal '((0 4) (3 ((1 2 3 5) 14))) (test-update-uvl-live-sets #() 4 5)))
+
+(with-test (:name :regression-1.0.23.38)
+  (compile nil '(lambda ()
+                 (flet ((make (x y)
+                          (let ((res (cons x x)))
+                            (setf (cdr res) y)
+                            res)))
+                   (declaim (inline make))
+                   (let ((z (make 1 2)))
+                     (declare (dynamic-extent z))
+                     (print z)
+                     t))))
+  (compile nil '(lambda ()
+                 (flet ((make (x y)
+                          (let ((res (cons x x)))
+                            (setf (cdr res) y)
+                            (if x res y))))
+                   (declaim (inline make))
+                   (let ((z (make 1 2)))
+                     (declare (dynamic-extent z))
+                     (print z)
+                     t)))))
 \f