X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefboot.lisp;h=8df43b2c2378e0d6bbaa3aa071f70b0d0448fb46;hb=d7ca32c95549ea9dd6c68b813c4ac1f1d66984e1;hp=46ed79e5dea42ac769b102c09a6901ea9c3f3b01;hpb=3586bad78cd1b61c356ec74a4e7bcced1eb69cb3;p=sbcl.git diff --git a/src/code/defboot.lisp b/src/code/defboot.lisp index 46ed79e..8df43b2 100644 --- a/src/code/defboot.lisp +++ b/src/code/defboot.lisp @@ -199,7 +199,7 @@ #-sb-xc-host (defun %defun (name def doc) (declare (type function def)) - (declare (type (or null simple-string doc))) + (declare (type (or null simple-string) doc)) (aver (legal-fun-name-p name)) ; should've been checked by DEFMACRO DEFUN (when (fboundp name) (/show0 "redefining NAME in %DEFUN") @@ -353,3 +353,30 @@ &body body) (declare (ignore declarations macros symbol-macros body)) `#',whole) + +;;; this eliminates a whole bundle of unknown function STYLE-WARNINGs +;;; when cross-compiling. It's not critical for behaviour, but is +;;; aesthetically pleasing, except inasmuch as there's this list of +;;; magic functions here. -- CSR, 2003-04-01 +#+sb-xc-host +(sb!xc:proclaim '(ftype (function * *) + ;; functions appearing in fundamental defining + ;; macro expansions: + %compiler-deftype + %defun + %defsetf + sb!c:%compiler-defun + sb!c::%define-symbol-macro + sb!c::%defconstant + sb!c::%define-compiler-macro + sb!c::%defmacro + sb!kernel::%compiler-defstruct + sb!kernel::%compiler-define-condition + sb!kernel::%defstruct + sb!kernel::%define-condition + ;; miscellaneous functions commonly appearing + ;; as a result of macro expansions or compiler + ;; transformations: + sb!int:find-undeleted-package-or-lose ; IN-PACKAGE + sb!kernel::arg-count-error ; PARSE-DEFMACRO + ))