[Openmcl-cvs-notifications] r15127 - /trunk/source/compiler/nx0.lisp
gb at clozure.com
gb at clozure.com
Fri Dec 9 01:37:25 CST 2011
Author: gb
Date: Fri Dec 9 01:37:24 2011
New Revision: 15127
Log:
In NX-CHECK-VDECL-VAR-REF, allow TYPE decls to apply to symbol-macros;
don't allow SPECIAL or other declarations to do so.
Modified:
trunk/source/compiler/nx0.lisp
Modified: trunk/source/compiler/nx0.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/nx0.lisp (original)
+++ trunk/source/compiler/nx0.lisp Fri Dec 9 01:37:24 2011
@@ -770,13 +770,14 @@
(values nil typespec)))))
(specifier-type typespec env)))
=
+
(defun nx-check-vdecl-var-ref (decl)
- (unless (eq (cadr decl) 'special)
- (let* ((sym (car decl))
- (info (nx-lex-info sym)))
- (when (or (eq info :symbol-macro)
- (and (null info) (not (nx-proclaimed-special-p sym))))
- (nx1-whine :unknown-declaration-variable (cadr decl) sym)))))
+ (let* ((sym (car decl))
+ (info (nx-lex-info sym)))
+ (when (or (and (not (eq (cadr decl) 'type)) (eq info :symbol-macro))
+ (and (null info) (not (or (eq (cadr decl) 'special)
+ (nx-proclaimed-special-p sym)))))
+ (nx1-whine :unknown-declaration-variable (cadr decl) sym))))
=
(defun nx-check-fdecl-var-ref (decl env &aux (sym (car decl)))
(unless (eq (cadr decl) 'ftype)
More information about the Openmcl-cvs-notifications
mailing list