;;; PATHNAME pieces, as returned by the PATHNAME-xxx functions
(sb!xc:deftype pathname-host () '(or sb!impl::host null))
(sb!xc:deftype pathname-device ()
- '(or simple-string (member nil :unspecific)))
+ '(or simple-string (member nil :unspecific :unc)))
(sb!xc:deftype pathname-directory () 'list)
(sb!xc:deftype pathname-name ()
'(or simple-string sb!impl::pattern (member nil :unspecific :wild)))
(types `(simple-array ,type ,dims))))
(types)))
+(sb!xc:deftype complex-vector (&optional element-type length)
+ `(and (vector ,element-type ,length) (not simple-array)))
+
;;; Return the symbol that describes the format of FLOAT.
(declaim (ftype (function (float) symbol) float-format-name))
(defun float-format-name (x)
;;; Return the most specific integer type that can be quickly checked that
;;; includes the given type.
(defun containing-integer-type (subtype)
- (dolist (type '(fixnum
- (signed-byte 32)
- (unsigned-byte 32)
+ (dolist (type `(fixnum
+ (signed-byte ,sb!vm:n-word-bits)
+ (unsigned-byte ,sb!vm:n-word-bits)
integer)
(error "~S isn't an integer type?" subtype))
(when (csubtypep subtype (specifier-type type))