X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fvm-typetran.lisp;h=ae7d8e65bb42fd3d0e24d4fc087aacf0a923e9bb;hb=95591ed483dbb8c0846c129953acac1554f28809;hp=05a08ebb69d8199a181c14cd53ed6d66cba0b347;hpb=a4cffc065c83d046fce193919bf6d4e53f181455;p=sbcl.git diff --git a/src/compiler/generic/vm-typetran.lisp b/src/compiler/generic/vm-typetran.lisp index 05a08eb..ae7d8e6 100644 --- a/src/compiler/generic/vm-typetran.lisp +++ b/src/compiler/generic/vm-typetran.lisp @@ -104,13 +104,16 @@ (define-type-predicate unsigned-byte-64-p (unsigned-byte 64)) #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or)) (define-type-predicate signed-byte-64-p (signed-byte 64)) -(define-type-predicate vector-t-p (vector t)) (define-type-predicate vector-nil-p (vector nil)) (define-type-predicate weak-pointer-p weak-pointer) (define-type-predicate code-component-p code-component) (define-type-predicate lra-p lra) (define-type-predicate fdefn-p fdefn) - +(macrolet + ((def () + `(progn ,@(loop for (name spec) in *vector-without-complex-typecode-infos* + collect `(define-type-predicate ,name (vector ,spec)))))) + (def)) ;;; Unlike the un-%'ed versions, these are true type predicates, ;;; accepting any type object. (define-type-predicate %standard-char-p standard-char)