Update of /cvsroot/sbcl/sbcl/src/compiler
In directory sc8-pr-cvs1:/tmp/cvs-serv12042/src/compiler
Modified Files:
ir1opt.lisp
Log Message:
0.7.10.32:
Fix bug in CONSTANT-REFERENCE-P: function name may be
(SETF symbol).
Index: ir1opt.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/ir1opt.lisp,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- ir1opt.lisp 19 Dec 2002 06:24:23 -0000 1.47
+++ ir1opt.lisp 27 Dec 2002 11:05:20 -0000 1.48
@@ -1302,8 +1302,12 @@
#!+(and (not sb-fluid) (not sb-xc-host))
(global-var
(case (global-var-kind leaf)
- (:global-function (eq (symbol-package (leaf-source-name leaf))
- *cl-package*)))))))
+ (:global-function (let ((name (leaf-source-name leaf)))
+ (when (consp name)
+ (aver (eq (first name) 'setf))
+ (setq name (second name)))
+ (eq (symbol-package name)
+ *cl-package*))))))))
;;; If we have a non-set LET var with a single use, then (if possible)
;;; replace the variable reference's CONT with the arg continuation.
|