X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Fchar.lisp;h=a7400ab1ef67a2acb653079ba0f58eec587bdaaa;hb=063900ddad92b24ce64ae0d41942c40405047466;hp=8a4e0638818ddcf23db65867e5a0a0308ac6f9f8;hpb=67e68bc0d3127a218829df7478718bfe181e9abe;p=sbcl.git diff --git a/src/compiler/ppc/char.lisp b/src/compiler/ppc/char.lisp index 8a4e063..a7400ab 100644 --- a/src/compiler/ppc/char.lisp +++ b/src/compiler/ppc/char.lisp @@ -121,7 +121,17 @@ (define-vop (character-compare/c) (:args (x :scs (character-reg))) - (:arg-types character (:constant (satisfies inlinable-character-constant-p))) + (:arg-types character + ;; KLUDGE: having a SATISFIES type here is too hairy for + ;; the cross-compiler (running on an arbitrary CL host) + ;; to cope with. Since we know we only have standard + ;; characters in the build anyway, we can restrict the + ;; cross-compiler's arg type to standard char, and all + ;; is well. + #+sb-xc-host + (:constant standard-char) + #-sb-xc-host + (:constant (satisfies inlinable-character-constant-p))) (:conditional) (:info target not-p y) (:policy :fast-safe)