X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fmanual%2Fcompiler.texinfo;h=cfc034fe787bdf6dbee119e06edd5e8619759e1a;hb=b63c4fb9b98fa8188e17ba926e150ba417a74635;hp=ee242f478c55e489dc8186d9d6f83dbbe52c8fe4;hpb=2a4fabe1541b905591fbd6b83122209df6a48fab;p=sbcl.git diff --git a/doc/manual/compiler.texinfo b/doc/manual/compiler.texinfo index ee242f4..cfc034f 100644 --- a/doc/manual/compiler.texinfo +++ b/doc/manual/compiler.texinfo @@ -11,7 +11,7 @@ naive translation. Efficiency issues are sufficiently varied and separate that they have their own chapter, @ref{Efficiency}. @menu -* Diagnostic Messages:: +* Diagnostic Messages:: * Handling of Types:: * Compiler Policy:: * Compiler Errors:: @@ -77,6 +77,12 @@ Cancels the effect of a previous @code{sb-ext:muffle-condition} declaration. @end deffn +Various details of @emph{how} the compiler messages are printed can be +controlled via the alist +@code{sb-ext:*compiler-print-variable-alist*}. + +@include var-sb-ext-star-compiler-print-variable-alist-star.texinfo + @c - @node Diagnostic Severity @comment node-name, next, previous, up @subsection Diagnostic Severity @@ -525,7 +521,7 @@ default compilation policy provides full type checks. Any or all type declarations may be believed without runtime assertions, and assertions that are done may be imprecise. -Used when @code{(> 0 safety (max speed space compilation-speed)}. +Used when @code{(< 0 safety (max speed space compilation-speed)}. @item No Type Checks All declarations are believed without assertions. Also disables @@ -768,34 +764,8 @@ Policy Control}. Ordinarily, when the @code{speed} quality is high, the compiler emits notes to notify the programmer about its inability to apply various -optimizations. - -Compiler diagnostics (of any severity other than @code{error}: -@pxref{Diagnostic Severity}) can be silenced by using the -@code{sb-ext:muffle-conditions} declaration, specifying the type of -condition that is to be muffled (using an associated -@code{muffle-warning} restart). - -To muffle all compiler notes: - -@lisp -(declaim (sb-ext:muffle-conditions sb-ext:compiler-note)) -@end lisp - -Compiler diagnostics can also be muffled in the lexical scope of a -declaration, and also lexically unmuffled by the use of the -sb-ext:unmuffle-conditions, for instance: - -@lisp -(defun foo (x) - (declare (optimize speed) (fixnum x)) - (declare (sb-ext:muffle-conditions sb-ext:compiler-note)) - (values (* x 5) ; no compiler note from this - (locally - (declare (sb-ext:unmuffle-conditions sb-ext:compiler-note)) - ;; this one gives a compiler note - (* x -5)))) -@end lisp +optimizations. For selective muffling of these notes @xref{Controlling +Verbosity}. The value of @code{space} mostly influences the compiler's decision whether to inline operations, which tend to increase the size of @@ -888,6 +858,7 @@ is to slow the program by causing cache misses or even swapping. @c _ In addition to suppressing type checks, \code{0} also suppresses @c _ argument count checking, unbound-symbol checking and array bounds @c _ checks. +@c _ ... and checking of tag existence in RETURN-FROM and GO. @c _ @c _\item[\code{extensions:inhibit-warnings}] \cindex{inhibit-warnings @c _ optimization quality}This is a CMU extension that determines how