From bdb214be430e948aaedcd528944e1d6e8ebd2c85 Mon Sep 17 00:00:00 2001
From: gerd <gerd>
Date: Tue, 3 Jun 2003 12:22:37 +0000
Subject: [PATCH] 	* src/compiler/envanal.lisp (find-non-local-exits):
 Deal with 	exits from deleted lambdas when *converting-for-interpreter*.

---
 compiler/envanal.lisp | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/compiler/envanal.lisp b/compiler/envanal.lisp
index 8bedc9124..ebdc818ca 100644
--- a/compiler/envanal.lisp
+++ b/compiler/envanal.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/envanal.lisp,v 1.28 2002/02/06 23:20:46 pmai Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/envanal.lisp,v 1.29 2003/06/03 12:22:37 gerd Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -291,11 +291,13 @@
     (dolist (entry (lambda-entries lambda))
       (dolist (exit (entry-exits entry))
 	(let ((target-env (node-environment entry)))
-	  (if (eq (node-environment exit) target-env)
-	      (unless *converting-for-interpreter*
-		(maybe-delete-exit exit))
-	      (note-non-local-exit target-env exit))))))
-
+	  (unless (and *converting-for-interpreter*
+		       (eq (lambda-kind (node-home-lambda exit))
+			   :deleted))
+	    (if (eq (node-environment exit) target-env)
+		(unless *converting-for-interpreter*
+		  (maybe-delete-exit exit))
+		(note-non-local-exit target-env exit)))))))
   (undefined-value))
 
 
-- 
GitLab