From 805abbdc2400defd66800f2c2a5d8b64b9885e31 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Wed, 1 Apr 1992 15:30:08 +0000 Subject: [PATCH] Fixed RETURN-VALUE-EFFICENCY-NOTE not to flame out when some functions in the tail set have no RETURN. --- compiler/gtn.lisp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/compiler/gtn.lisp b/compiler/gtn.lisp index 498a226f7..1f33eda62 100644 --- a/compiler/gtn.lisp +++ b/compiler/gtn.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/gtn.lisp,v 1.12 1991/12/11 18:26:08 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/gtn.lisp,v 1.13 1992/04/01 15:30:08 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -161,19 +161,21 @@ (compiler-note "Return value count mismatch prevents known return ~ from these functions:~ - ~{~% ~A~}" + ~{~% ~A~}" (remove nil (mapcar #'leaf-name funs))))) - (let ((rtype (return-result-type (lambda-return fun)))) - (multiple-value-bind (ignore count) - (values-types rtype) - (declare (ignore ignore)) - (when (eq count :unknown) - (let ((*compiler-error-context* (lambda-bind fun))) - (compiler-note - "Return type not fixed values, so can't use known return ~ - convention:~% ~S" - (type-specifier rtype))) - (return))))))) + (let ((ret (lambda-return fun))) + (when ret + (let ((rtype (return-result-type ret))) + (multiple-value-bind (ignore count) + (values-types rtype) + (declare (ignore ignore)) + (when (eq count :unknown) + (let ((*compiler-error-context* (lambda-bind fun))) + (compiler-note + "Return type not fixed values, so can't use known return ~ + convention:~% ~S" + (type-specifier rtype))) + (return))))))))) (undefined-value)) -- GitLab