X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fprimtype.lisp;h=d44d79d0a201c22fa4df8fc62deb5cae64ffa4ce;hb=2db3b6b4cb740d5b6512459c223859f747807b09;hp=b566b1154aa7ffb5ec1e221f7b120c6212901321;hpb=a8fa26a6e9804d3548f5bca9361a91345a689099;p=sbcl.git diff --git a/src/compiler/generic/primtype.lisp b/src/compiler/generic/primtype.lisp index b566b11..d44d79d 100644 --- a/src/compiler/generic/primtype.lisp +++ b/src/compiler/generic/primtype.lisp @@ -100,6 +100,8 @@ ;;; primitive other-pointer array types (/show0 "primtype.lisp 96") +(!def-primitive-type simple-array-nil (descriptor-reg) + :type (simple-array nil (*))) (!def-primitive-type simple-string (descriptor-reg) :type simple-base-string) (!def-primitive-type simple-bit-vector (descriptor-reg)) @@ -160,7 +162,8 @@ *backend-t-primitive-type*)))) (defvar *simple-array-primitive-types* - '((base-char . simple-string) + '((nil . simple-array-nil) + (base-char . simple-string) (bit . simple-bit-vector) ((unsigned-byte 2) . simple-array-unsigned-byte-2) ((unsigned-byte 4) . simple-array-unsigned-byte-4) @@ -376,13 +379,15 @@ (part-of list)) (t (any)))) - (function-type + (fun-type (exactly function)) (sb!xc:class (if (csubtypep type (specifier-type 'function)) (part-of function) (part-of instance))) (ctype - (any)))))) + (if (csubtypep type (specifier-type 'function)) + (part-of function) + (any))))))) (/show0 "primtype.lisp end of file")