From 02219274480d27347ff733a31b4b041525d03e9e Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Tue, 13 Nov 1990 10:17:59 +0000 Subject: [PATCH] Changed function-info-or-lose and %defknown to change the info environment in *target-backend* if there is one. --- compiler/knownfun.lisp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/compiler/knownfun.lisp b/compiler/knownfun.lisp index 5e3e23d69..8399e32be 100644 --- a/compiler/knownfun.lisp +++ b/compiler/knownfun.lisp @@ -146,10 +146,13 @@ (proclaim '(function %defknown (list list attributes &key (derive-type function) (optimizer function)))) (defun %defknown (names type attributes &key derive-type optimizer) + (declare (ignore derive-type)) (let ((ctype (specifier-type type)) (info (make-function-info :attributes attributes ; :derive-type derive-type Until database is fixed... - :optimizer optimizer))) + :optimizer optimizer)) + (*info-environment* (or (backend-info-environment *target-backend*) + *info-environment*))) (dolist (name names) (setf (info function type name) ctype) (setf (info function where-from name) :declared) @@ -167,6 +170,8 @@ ;;; (proclaim '(function function-info-or-lose (t) function-info)) (defun function-info-or-lose (name) - (let ((old (info function info name))) - (unless old (error "~S is not a known function." name)) - (setf (info function info name) (copy-function-info old)))) + (let ((*info-environment* (or (backend-info-environment *target-backend*) + *info-environment*))) + (let ((old (info function info name))) + (unless old (error "~S is not a known function." name)) + (setf (info function info name) (copy-function-info old))))) -- GitLab