mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
Limit the scope of warning suppressions
* Rev 906a406a quieted all compiler notes coming from make-host-1,
rendering moot the muffle-conditions code-deletion-note in shared.lisp,
not to mention (satisfies unable-to-optimize-note-p) there as well.
* Prevent introduction of new occurrences of the optional+key warning
by confining the suppression to precisely where there is old code.
We need to fix whatever is wrong with cross-typep so that make-host-2
correctly utilizes the &OPTIONAL-AND-&KEY-IN-LAMBDA-LIST condition.
This commit is contained in:
parent
9c82bf8bdc
commit
d3fa62156f
|
|
@ -1,7 +1,11 @@
|
|||
(defvar *config-name* (second sb-ext:*posix-argv*))
|
||||
(defvar *sbcl-local-target-features-file*
|
||||
(format nil "obj/xbuild/~A/local-target-features" *config-name*))
|
||||
(load "src/cold/shared.lisp")
|
||||
(let ((sb-c::*handled-conditions* sb-c::*handled-conditions*))
|
||||
;; As many useless notes emanate from loading shared as we have configs,
|
||||
;; at (compile nil (read-from-file customizer-file-name))
|
||||
(declaim (muffle-conditions compiler-note))
|
||||
(load "src/cold/shared.lisp"))
|
||||
(in-package "SB-COLD")
|
||||
(let* ((build-dir (format nil "obj/xbuild/~A/" cl-user::*config-name*))
|
||||
(objroot (format nil "~A/from-xc/" build-dir)))
|
||||
|
|
|
|||
|
|
@ -9,10 +9,7 @@
|
|||
(when val
|
||||
(format t "~&target ~S = ~S~%" sym val))))))
|
||||
(in-package "SB-COLD")
|
||||
#+sbcl
|
||||
(declaim (sb-ext:muffle-conditions
|
||||
sb-ext:compiler-note
|
||||
(satisfies optional+key-style-warning-p)))
|
||||
#+sbcl (declaim (sb-ext:muffle-conditions sb-ext:compiler-note))
|
||||
(progn
|
||||
(setf *host-obj-prefix* (if (boundp 'cl-user::*sbcl-host-obj-prefix*)
|
||||
(symbol-value 'cl-user::*sbcl-host-obj-prefix*)
|
||||
|
|
|
|||
|
|
@ -922,6 +922,10 @@ unless :NAMED is also specified.")))
|
|||
(defun parse-1-dsd (proto-classoid defstruct spec &optional included-slot
|
||||
&aux accessor-name (always-boundp t) (safe-p t)
|
||||
ctype rsd-index index)
|
||||
;; suppress the "optional & key" warning in the DESTRUCTURING-BIND below
|
||||
#+(and sb-xc-host host-quirks-sbcl) (declare (host-sb-ext:muffle-conditions style-warning))
|
||||
;; Just like in src/code/macros we'd prefer a more fine-grained suppression
|
||||
;; using SB-KERNEL:&OPTIONAL-AND-&KEY-IN-LAMBDA-LIST but it doesn't work.
|
||||
#-sb-xc-host (declare (muffle-conditions style-warning))
|
||||
(multiple-value-bind (name default default-p type type-p read-only ro-p)
|
||||
(typecase spec
|
||||
|
|
|
|||
|
|
@ -232,14 +232,7 @@
|
|||
ext:*gc-verbose* nil))
|
||||
|
||||
#+sbcl
|
||||
(progn
|
||||
(setq cl:*compile-print* nil)
|
||||
(load (find-bootstrap-file "^muffler"))
|
||||
;; Let's just say we never care to see these.
|
||||
(declaim (sb-ext:muffle-conditions
|
||||
(satisfies unable-to-optimize-note-p)
|
||||
(satisfies optional+key-style-warning-p)
|
||||
sb-ext:code-deletion-note)))
|
||||
(setq cl:*compile-print* nil)
|
||||
|
||||
;;;; special read-macros for building the cold system (and even for
|
||||
;;;; building some of our tools for building the cold system)
|
||||
|
|
|
|||
|
|
@ -300,6 +300,13 @@
|
|||
;;; if the function returns T.
|
||||
;;; :BEFORE-VOP
|
||||
;;; - an ordinary transform placed before VOP transforms.
|
||||
(locally
|
||||
;; suppress the "optional & key" warning in our lambda lists
|
||||
#+(and sb-xc-host host-quirks-sbcl) (declare (host-sb-ext:muffle-conditions style-warning))
|
||||
;; This ought to be (MUFFLE-CONDITIONS SB-KERNEL:&OPTIONAL-AND-&KEY-IN-LAMBDA-LIST)
|
||||
;; for more finesse, however, the host lisp sees this condition class name, and honestly
|
||||
;; I can't explain that. We have to just say STYLE-WARNING. So it goes.
|
||||
#-sb-xc-host (declare (muffle-conditions style-warning))
|
||||
(defmacro deftransform (name (lambda-list &optional (arg-types '*)
|
||||
(result-type '*)
|
||||
&key result policy node defun-only
|
||||
|
|
@ -384,6 +391,7 @@
|
|||
`(%deftransform ',name ,(if policy '#'policy-test) ',type
|
||||
#',transform-name ,important))
|
||||
names)))))
|
||||
) ; end LOCALLY
|
||||
|
||||
|
||||
(defun make-optimizer-name (name)
|
||||
|
|
|
|||
Loading…
Reference in a new issue