From f30edc9536681f0eca452a97b6ed2c9df42f86f6 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Sun, 8 Dec 1991 17:23:41 +0000 Subject: [PATCH] Clear out NODE-DERIVED-TYPE in references to escape functions before substution to prevent type inference anomalies. --- compiler/envanal.lisp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/envanal.lisp b/compiler/envanal.lisp index f8d5eb488..703720987 100644 --- a/compiler/envanal.lisp +++ b/compiler/envanal.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/envanal.lisp,v 1.18 1991/11/09 22:07:01 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/envanal.lisp,v 1.19 1991/12/08 17:23:41 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -245,6 +245,9 @@ (assert info) (close-over info (node-environment exit) env) (when (eq (functional-kind exit-fun) :escape) + (mapc #'(lambda (x) + (setf (node-derived-type x) *wild-type*)) + (leaf-refs exit-fun)) (substitute-leaf (find-constant info) exit-fun) (let ((node (block-last (nlx-info-target info)))) (delete-continuation-use node) -- GitLab