Fixed bug reported by WHN 2003-05-02:
* CHANGE-REF-LEAF incompatibly changes REF derived type in
BASIC-COMBINATION-FUN.
(when (and (combination-p use)
(eq (continuation-fun-name (combination-fun use))
'list))
+
+ ;; FIXME: VALUES might not satisfy an assertion on NODE-CONT.
(change-ref-leaf (continuation-use (combination-fun node))
(find-free-fun 'values "in a strange place"))
(setf (combination-kind node) :full)
(setf (ref-leaf ref) leaf)
(setf (leaf-ever-used leaf) t)
(let ((ltype (leaf-type leaf)))
- (if (fun-type-p ltype)
+ (if (let* ((cont (node-cont ref))
+ (dest (continuation-dest cont)))
+ (and (basic-combination-p dest)
+ (eq cont (basic-combination-fun dest))))
(setf (node-derived-type ref) ltype)
(derive-node-type ref ltype)))
(reoptimize-continuation (node-cont ref)))
;;; 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".)
-"0.8alpha.0.4"
+"0.8alpha.0.5"