X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffndb.lisp;h=8423f5ebf8fbf5428c59c50884395c0b658afa9e;hb=b767eae48831153473226b985511c8f7a3ef98c5;hp=a55a07a1e25a958075a2edfe764bcf924c28c49e;hpb=dec94b039e8ec90baf21463df839a6181de606f6;p=sbcl.git diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp index a55a07a..8423f5e 100644 --- a/src/compiler/fndb.lisp +++ b/src/compiler/fndb.lisp @@ -1145,10 +1145,13 @@ ;;;; from the "Errors" chapter: -(defknown error (t &rest t) nil) ; never returns... +(defknown error (t &rest t) nil) ; never returns (defknown cerror (string t &rest t) null) (defknown warn (t &rest t) null) (defknown break (&optional t &rest t) null) + +;;; and analogous SBCL extension: +(defknown bug (t &rest t) nil) ; never returns ;;;; from the "Miscellaneous" Chapter: @@ -1265,8 +1268,8 @@ (defknown %more-arg-context (t t) (values t index) (flushable)) (defknown %more-arg (t index) t) (defknown %more-arg-values (t index index) * (flushable)) -(defknown %verify-argument-count (index index) (values)) -(defknown %argument-count-error (t) nil) +(defknown %verify-arg-count (index index) (values)) +(defknown %arg-count-error (t) nil) (defknown %unknown-values () *) (defknown %catch (t t) t) (defknown %unwind-protect (t t) t) @@ -1278,8 +1281,8 @@ (defknown %%primitive (t t &rest t) *) (defknown %pop-values (t) t) (defknown %type-check-error (t t) nil) -(defknown %odd-key-arguments-error () nil) -(defknown %unknown-key-argument-error (t) nil) +(defknown %odd-key-args-error () nil) +(defknown %unknown-key-arg-error (t) nil) (defknown (%ldb %mask-field) (bit-index bit-index integer) unsigned-byte (movable foldable flushable explicit-check)) (defknown (%dpb %deposit-field) (integer bit-index bit-index integer) integer @@ -1297,28 +1300,19 @@ (values (simple-array * (*)) index index index) (foldable flushable)) (defknown %set-symbol-package (symbol t) t (unsafe)) -(defknown %coerce-name-to-function ((or symbol cons)) function (flushable)) -(defknown %coerce-callable-to-function (callable) function (flushable)) +(defknown %coerce-name-to-fun ((or symbol cons)) function (flushable)) +(defknown %coerce-callable-to-fun (callable) function (flushable)) (defknown failed-%with-array-data (t t t) nil) (defknown %find-position (t sequence t index sequence-end function function) (values t (or index null)) (flushable call)) -(defknown %find-position-if +(defknown (%find-position-if %find-position-if-not) (function sequence t index sequence-end function) (values t (or index null)) (call)) -;;; Structure slot accessors or setters are magically "known" to be -;;; these functions, although the var remains the Slot-Accessor -;;; describing the actual function called. -;;; -;;; FIXME: It would be nice to make structure slot accessors be -;;; ordinary functions. -(defknown %slot-accessor (t) t (flushable)) -(defknown %slot-setter (t t) t (unsafe)) - -(defknown sb!kernel::do-arg-count-error (t t t t t t) nil (unsafe)) +(defknown sb!kernel::arg-count-error (t t t t t t) nil (unsafe)) ;;;; SETF inverses @@ -1334,10 +1328,15 @@ (defknown %charset (string index character) character (unsafe)) (defknown %scharset (simple-string index character) character (unsafe)) (defknown %set-symbol-value (symbol t) t (unsafe)) -(defknown fset (symbol function) function (unsafe)) +(defknown (setf symbol-function) (function symbol) function (unsafe)) (defknown %set-symbol-plist (symbol t) t (unsafe)) (defknown (setf fdocumentation) ((or string null) t symbol) (or string null) ()) (defknown %setnth (index list t) t (unsafe)) (defknown %set-fill-pointer (vector index) index (unsafe)) + +;;;; miscellaneous internal utilities + +(defknown %fun-name (function) t (flushable)) +(defknown (setf %fun-name) (t function) t (unsafe))