Changeset 15127


Ignore:
Timestamp:
Dec 9, 2011, 7:37:24 AM (8 years ago)
Author:
gb
Message:

In NX-CHECK-VDECL-VAR-REF, allow TYPE decls to apply to symbol-macros;
don't allow SPECIAL or other declarations to do so.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/nx0.lisp

    r15040 r15127  
    771771    (specifier-type typespec env)))
    772772
     773
    773774(defun nx-check-vdecl-var-ref (decl)
    774   (unless (eq (cadr decl) 'special)
    775     (let* ((sym (car decl))
    776            (info (nx-lex-info sym)))
    777       (when (or (eq info :symbol-macro)
    778                 (and (null info) (not (nx-proclaimed-special-p sym))))
    779         (nx1-whine :unknown-declaration-variable (cadr decl) sym)))))
     775  (let* ((sym (car decl))
     776         (info (nx-lex-info sym)))
     777    (when (or (and (not (eq (cadr decl) 'type)) (eq info :symbol-macro))
     778              (and (null info) (not (or (eq (cadr decl) 'special)
     779                                        (nx-proclaimed-special-p sym)))))
     780      (nx1-whine :unknown-declaration-variable (cadr decl) sym))))
    780781
    781782(defun nx-check-fdecl-var-ref (decl env &aux (sym (car decl)))
Note: See TracChangeset for help on using the changeset viewer.