;;;; classes
(sb!xc:deftype name-for-class () t)
-(defknown classoid-name (classoid) name-for-class (flushable))
+(defknown classoid-name (classoid) symbol (flushable))
(defknown find-classoid (name-for-class &optional t)
(or classoid null) ())
(defknown classoid-of (t) classoid (flushable))
(defknown macro-function (symbol &optional lexenv-designator)
(or function null)
(flushable))
-(defknown (macroexpand macroexpand-1) (t &optional lexenv-designator)
+(defknown (macroexpand macroexpand-1 %macroexpand %macroexpand-1)
+ (t &optional lexenv-designator)
(values form &optional boolean))
(defknown compiler-macro-function (t &optional lexenv-designator)
(real &optional real) (values integer real)
(movable foldable flushable explicit-check))
+(defknown %multiply-high (word word) word
+ (movable foldable flushable))
+
+(defknown (%floor %ceiling)
+ (real real) (values integer real)
+ (movable foldable flushable explicit-check))
+
(defknown (mod rem) (real real) real
(movable foldable flushable explicit-check))
(flushable unsafe))
(defknown make-string-output-stream
(&key (:element-type type-specifier))
- stream
+ string-output-stream
(flushable))
(defknown get-output-stream-string (stream) simple-string ())
(defknown streamp (t) boolean (movable foldable flushable))
\f
;;;; from the "Conditions" chapter:
-(defknown cell-error-name (cell-error) t)
(defknown error (t &rest t) nil)
(defknown cerror (format-control t &rest t) null)
(defknown invalid-method-error (t format-control &rest t) *) ; FIXME: first arg is METHOD
(defknown method-combination-error (format-control &rest t) *)
(defknown signal (t &rest t) null)
-(defknown simple-condition-format-control (condition)
- format-control)
-(defknown simple-condition-format-arguments (condition)
- list)
(defknown warn (t &rest t) null)
(defknown invoke-debugger (condition) nil)
(defknown break (&optional format-control &rest t) null)
\f
;;;; magical compiler frobs
+(defknown %values-list-or-context (t t t) * (always-translatable))
+
(defknown %unary-truncate/single-float (single-float) integer (movable foldable flushable))
(defknown %unary-truncate/double-float (double-float) integer (movable foldable flushable))
;; FIXME: This function does not return, but due to the implementation
;; of FILTER-LVAR we cannot write it here.
-(defknown %compile-time-type-error (t t t) *)
+(defknown %compile-time-type-error (t t t t) *)
(defknown sb!kernel::case-failure (t t t) nil)
(defknown %odd-key-args-error () nil)
(unsafe))
(defknown %compare-and-swap-symbol-value (symbol t t) t
(unsafe unwind))
+(defknown spin-loop-hint () (values)
+ (always-translatable))