Tolerate non-simple strings when checking arguments to CERROR.
[sbcl.git] / src / code / cross-early.lisp
blob26714715a16fe547657125696541cda4a3f6d27b
1 ;;;; cross-compile-time-only stuff that is needed before anything else
3 ;;;; This software is part of the SBCL system. See the README file for
4 ;;;; more information.
5 ;;;;
6 ;;;; This software is derived from the CMU CL system, which was
7 ;;;; written at Carnegie Mellon University and released into the
8 ;;;; public domain. The software is in the public domain and is
9 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
10 ;;;; files for more information.
12 (in-package "SB!IMPL")
14 ;;; The STRUCTURE!OBJECT abstract class is the base of the hierarchy
15 ;;; of objects that need to be identifiable as SBCL system objects
16 ;;; in the host Lisp. This type does not exist in the target.
17 (defstruct (structure!object (:constructor nil) (:copier nil) (:predicate nil)))
19 (declaim (declaration truly-dynamic-extent))
21 ;;; MAYBE-INLINE and FREEZE-TYPE declarations can be safely ignored
22 ;;; (possibly at some cost in efficiency).
23 (declaim (declaration freeze-type maybe-inline))
25 ;;; INHIBIT-WARNINGS declarations can be safely ignored (although we
26 ;;; may then have to wade through some irrelevant warnings).
27 (declaim (declaration inhibit-warnings))
29 ;;; SB!C::LAMBDA-LIST declarations can be ignored.
30 ;;; Cross-compilation does not rely on introspection for anything.
31 (declaim (declaration sb!c::lambda-list))
33 (declaim (declaration explicit-check always-bound))
35 (defgeneric sb!xc:make-load-form (obj &optional env))