Return char* from page_address(), not void*
[sbcl.git] / src / cold / muffler.lisp
blob738b279a3e47c9952d26936c6ffa2b2868a2909c
1 ;;;; This software is part of the SBCL system. See the README file for
2 ;;;; more information.
3 ;;;;
4 ;;;; This software is derived from the CMU CL system, which was
5 ;;;; written at Carnegie Mellon University and released into the
6 ;;;; public domain. The software is in the public domain and is
7 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
8 ;;;; files for more information.
10 ;;; This file deliberately lacks an IN-PACKAGE.
11 ;;; so that the functions go in a package determined by the scaffolding.
13 ;; These have to be stated three times:
14 ;; - once for the host if self-hosted,
15 ;; - once for the cross-compiler (but substituting SB!INT for SB-INT)
16 ;; - once again for warm load.
18 ;; This avoids muffling "could not optimize away %SAP-ALIEN"
19 ;; and "SAP to pointer conversion" in case we care.
20 (defun unable-to-optimize-note-p (condition)
21 (and (typep condition
22 #-sb-xc 'sb-int:simple-compiler-note ; make-host-1 and warm
23 #+sb-xc 'sb!int:simple-compiler-note) ; make-host-2
24 (or (search "unable to" (simple-condition-format-control condition))
25 (let ((args (simple-condition-format-arguments condition)))
26 (and (typep (car args) '(cons string))
27 (search "forced to do" (caar args)))))))
29 (defun optional+key-style-warning-p (condition)
30 (and (typep condition '(and simple-condition style-warning))
31 (search "&OPTIONAL and &KEY found"
32 (simple-condition-format-control condition))))