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
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
))
35 (defgeneric sb
!xc
:make-load-form
(obj &optional env
))