X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcross-misc.lisp;h=eb57e41b34ae4341aaa651116d15cf611afa9a66;hb=860543cc7ba0266e41e1d41ac9b6a208f3795f1a;hp=6c3b8ceabc817956a07bb7678b6433e7aec860d8;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/code/cross-misc.lisp b/src/code/cross-misc.lisp index 6c3b8ce..eb57e41 100644 --- a/src/code/cross-misc.lisp +++ b/src/code/cross-misc.lisp @@ -32,15 +32,6 @@ `(progn ,@forms)) ;;; When we're running as a cross-compiler in an arbitrary host ANSI -;;; Lisp, we don't have any hooks available to manipulate the -;;; debugging name and debugging argument list of an interpreted -;;; function object (and don't care much about getting debugging name -;;; and debugging argument list right anyway). -(defun try-to-rename-interpreted-function-as-macro (f name lambda-list) - (declare (ignore f name lambda-list)) - (values)) - -;;; When we're running as a cross-compiler in an arbitrary host ANSI ;;; Lisp, we shouldn't be doing anything which is sensitive to GC. ;;; KLUDGE: I (WHN 19990131) think the proper long-term solution would ;;; be to remove any operations from cross-compiler source files @@ -50,10 +41,10 @@ (defvar *after-gc-hooks* nil) ;;; The GENESIS function works with fasl code which would, in the -;;; target SBCL, work on LISP-STREAMs. A true LISP-STREAM doesn't seem -;;; to be a meaningful concept in ANSI Common Lisp, but we can fake it -;;; acceptably well using a standard STREAM. -(deftype lisp-stream () 'stream) +;;; target SBCL, work on ANSI-STREAMs (streams which aren't extended +;;; Gray streams). In ANSI Common Lisp, an ANSI-STREAM is just a +;;; CL:STREAM. +(deftype ansi-stream () 'stream) ;;; In the target SBCL, the INSTANCE type refers to a base ;;; implementation for compound types. There's no way to express @@ -77,12 +68,13 @@ nil)) ;;; This seems to be the portable Common Lisp type test which -;;; corresponds to the effect of the target SBCL implementation test.. +;;; corresponds to the effect of the target SBCL implementation test... (defun sb!kernel:array-header-p (x) - (and (typep x 'simple-array) - (= 1 (array-rank x)))) + (and (typep x 'array) + (or (not (typep x 'simple-array)) + (/= (array-rank x) 1)))) -;;; Genesis needs these at cross-compile time. The target +;;; GENESIS needs these at cross-compile time. The target ;;; implementation of these is reasonably efficient by virtue of its ;;; ability to peek into the internals of the package implementation; ;;; this reimplementation is portable but slow. @@ -106,7 +98,7 @@ (let ((result 0)) (declare (type fixnum result)) (do-external-symbols (i package) - (declare (ignore i)) + (declare (ignorable i)) (incf result)) result))