X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fprimtype.lisp;h=836a5bdf8147817d5dc81bb25026f9a4d28e52d7;hb=731d5dd65a7b94b5d49d1663d9b60c3a406ce38c;hp=9da94af30619fa607144fccf1a4ad25ec3a6da31;hpb=dcb7dbc4a93f413d7ce2cd0d05e13c2a7e785e79;p=sbcl.git diff --git a/src/compiler/generic/primtype.lisp b/src/compiler/generic/primtype.lisp index 9da94af..836a5bd 100644 --- a/src/compiler/generic/primtype.lisp +++ b/src/compiler/generic/primtype.lisp @@ -52,16 +52,19 @@ (/show0 "primtype.lisp 53") (!def-primitive-type-alias tagged-num (:or positive-fixnum fixnum)) -(!def-primitive-type-alias unsigned-num - #!+#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) - (:or unsigned-byte-64 unsigned-byte-63 positive-fixnum) - #!-#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) - (:or unsigned-byte-32 unsigned-byte-31 positive-fixnum)) -(!def-primitive-type-alias signed-num - #!+#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) - (:or signed-byte-64 fixnum unsigned-byte-63 positive-fixnum) - #!-#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) - (:or signed-byte-32 fixnum unsigned-byte-31 positive-fixnum)) +(progn + (!def-primitive-type-alias unsigned-num #1= + #!+#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) + (:or unsigned-byte-64 unsigned-byte-63 positive-fixnum) + #!-#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) + (:or unsigned-byte-32 unsigned-byte-31 positive-fixnum)) + (!def-primitive-type-alias signed-num #2= + #!+#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) + (:or signed-byte-64 fixnum unsigned-byte-63 positive-fixnum) + #!-#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) + (:or signed-byte-32 fixnum unsigned-byte-31 positive-fixnum)) + (!def-primitive-type-alias untagged-num + (:or . #.(print (union (cdr '#1#) (cdr '#2#)))))) ;;; other primitive immediate types (/show0 "primtype.lisp 68")