(lambda-return clambda)))
(result-use (when (return-p creturn)
(principal-lvar-use (return-result creturn)))))
- (when result-use
- (if (known-dx-combination-p result-use dx)
- (combination-args-flow-cleanly-p use result-use dx)
- (dx-combination-p result-use dx)))))
- t))
+ ;; FIXME: We should be able to deal with multiple uses here as well.
+ (and (dx-combination-p result-use dx)
+ (combination-args-flow-cleanly-p use result-use dx))))))
(defun combination-args-flow-cleanly-p (combination1 combination2 dx)
(labels ((recurse (combination)
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
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.23.40"
+"1.0.23.41"