mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
converted SIMPLE-/COMPLEX- -INTERSECTION to -INTERSECTION2 reviewed old SIMPLE-/COMPLEX- -INTERSECTION methods to make them OK in the new world made TYPE-INTERSECTION2 and TYPE-APPROX-INTERSECTION2 for some things which used to call TYPE-INTERSECTION made new with-&REST-list TYPE-INTERSECTION to replace MAKE-INTERSECTION-TYPE-OR-SOMETHING HIERARCHICAL-INTERSECTION is more descriptive than VANILLA-INTERSECTION. deleted unused SIMPLIFY2 stuff deleted unused TYPE-INTERSECT and VALUES-TYPE-ALLOWP Pure BOOLEAN TYPE-ENUMERABLE is too much trouble; relax to generalized boolean instead. tweaked DEFUN-CACHED so that it will work early in cold init (if some clueless bozo happens to mess up types so badly that it gets called early in cold init:-) Now the AND type translator can just use TYPE-INTERSECTION. added *SOFT-HEAP-LIMIT* removed some unused symbols in SB!UNIX tweaked /SHOW0 to automatically stringify and concatenate its arguments, to abbreviate an idiom that I use a lot wrote /HEXSTR0 to abbreviate another idiom defined /PRIMITIVE-PRINT to abbreviate another idiom DO-LOAD-TIME-CODE-FIXUP and DO-LOAD-TIME-VALUE-FIXUP are only needed at cold init. added tests/type.after-xc.lisp and tests/type.before-xc.lisp upgraded SB-XC:TYPEP to handle (TYPEP #(1 2 3) 'VECTOR) etc. Intersection with *EMPTY-TYPE* and *UNIVERSAL-TYPE* should behave (and be commutative). Guard against some type method operations on *. (easier than worrying about them, or trying to make them right..) moved STYLE-WARN and friends to SB-INT to eliminate thought about whether they're visible e.g. in ir1tran.lisp tripped over bug 84 made SB!C-CALL use SB!INT and SB!EXT so I can use /SHOW0 et al. DEF-PRIMITIVE-TYPE stuff can become !DEF-PRIMITIVE-TYPE. DEF-BOUNDED-TYPE and DEFINE-FLOAT-FORMAT can become !DEF-BOUNDED-TYPE and !DEFINE-FLOAT-FORMAT. moved DEFTYPE FLOAT-FORMAT earlier so that it's visible in early-type.lisp (for NUMERIC-TYPE FORMAT slot :TYPE) moved LIST, CONS, and NULL classes earlier in *BUILT-IN-CLASSES* to try to help with RATIO cold init problem removed pre-ANSI keyword-only stuff in ARG-INFO-KEYWORD and in various &KEY-related error messages and symbol names bug 12 fixed: (SUBTYPEP 'KEYWORD 'SYMBOL)=>T,T added INTERSECTION-TYPE support to CTYPEP
47 lines
2 KiB
Bash
47 lines
2 KiB
Bash
#!/bin/sh
|
|
|
|
# This is a script to be run as part of make.sh. The only time you'd
|
|
# want to run it by itself is if you're trying to cross-compile the
|
|
# system or if you're doing some kind of troubleshooting.
|
|
|
|
# This software is part of the SBCL system. See the README file for
|
|
# more information.
|
|
#
|
|
# This software is derived from the CMU CL system, which was
|
|
# written at Carnegie Mellon University and released into the
|
|
# public domain. The software is in the public domain and is
|
|
# provided with absolutely no warranty. See the COPYING and CREDITS
|
|
# files for more information.
|
|
|
|
echo //entering make-host-1.sh
|
|
|
|
# Compile and load the cross-compiler. (We load it here not because we're
|
|
# about to use it, but because it's written under the assumption that each
|
|
# file will be loaded before the following file is compiled.)
|
|
#
|
|
# Also take the opportunity to compile and load genesis, to create the
|
|
# header file sbcl.h which will be needed to create the C runtime
|
|
# environment.
|
|
echo //building cross-compiler, and doing first genesis
|
|
$SBCL_XC_HOST <<-'EOF' || exit 1
|
|
;; (We want to have some limit on print length and print level
|
|
;; during bootstrapping because PRINT-OBJECT only gets set
|
|
;; up rather late, and running without PRINT-OBJECT it's easy
|
|
;; to fall into printing enormous (or infinitely circular)
|
|
;; low-level representations of things.)
|
|
(setf *print-level* 5 *print-length* 5)
|
|
(load "src/cold/shared.lisp")
|
|
(in-package "SB-COLD")
|
|
(setf *host-obj-prefix* "obj/from-host/")
|
|
(load "src/cold/shared.lisp")
|
|
(load "src/cold/set-up-cold-packages.lisp")
|
|
(load "src/cold/defun-load-or-cload-xcompiler.lisp")
|
|
(load-or-cload-xcompiler #'host-cload-stem)
|
|
;; Let's check that the type system is reasonably sane. (It's
|
|
;; easy to spend a long time wandering around confused trying
|
|
;; to debug cross-compilation if it isn't.)
|
|
(load "tests/type.before-xc.lisp")
|
|
(host-cload-stem "compiler/generic/genesis")
|
|
(sb!vm:genesis :c-header-file-name "src/runtime/sbcl.h")
|
|
EOF
|