X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcross-type.lisp;h=e44501f2806baedcb6c10e1b84a4f56400f8edba;hb=15d6e7c9a2c3234f95dfe278046fa2fee1b0c007;hp=228496f05e84cb706d1a84a38759f0231234a0d8;hpb=2d3cb6dba6461e98744eca2a1df4f770cea468ca;p=sbcl.git diff --git a/src/code/cross-type.lisp b/src/code/cross-type.lisp index 228496f..e44501f 100644 --- a/src/code/cross-type.lisp +++ b/src/code/cross-type.lisp @@ -86,7 +86,7 @@ '(array character list symbol)) raw-result) (t - (error "can't handle TYPE-OF ~S in cross-compilation"))))) + (error "can't handle TYPE-OF ~S in cross-compilation" object))))) ;;; Is SYMBOL in the CL package? Note that we're testing this on the ;;; cross-compilation host, which could do things any old way. In @@ -148,14 +148,14 @@ (typep target-type 'class) (bug "We don't support CROSS-TYPEP of CLASS type specifiers")) ((and (symbolp target-type) - (find-class target-type nil) - (subtypep target-type 'sb!kernel::structure!object)) - (values (typep host-object target-type) t)) - ((and (symbolp target-type) (find-classoid target-type nil) (sb!xc:subtypep target-type 'cl:structure-object) (typep host-object '(or symbol number list character))) (values nil t)) + ((and (symbolp target-type) + (find-class target-type nil) + (subtypep target-type 'sb!kernel::structure!object)) + (values (typep host-object target-type) t)) (;; easy cases of arrays and vectors (target-type-is-in '(array simple-string simple-vector string vector)) @@ -184,7 +184,7 @@ ;; we don't continue doing it after we someday patch ;; SBCL's type system so that * is no longer a type, we ;; make this assertion. -- WHN 2001-08-08 - (aver (typep (specifier-type '*) 'named-type)) + (aver (typep (values-specifier-type '*) 'named-type)) (values t t)) (;; Many simple types are guaranteed to correspond exactly ;; between any host ANSI Common Lisp and the target