X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ftype.pure.lisp;h=07ad60d76917469590c8aa80eb9f8b8b3d034230;hb=8cd045dfd24638b1958f1507f944f249d2d2ccde;hp=46a4bd643d3f20fa183d86a80a4f50b41450a5c3;hpb=e541b374b64104a47bb5e547778fbc81d5e0e0cb;p=sbcl.git diff --git a/tests/type.pure.lisp b/tests/type.pure.lisp index 46a4bd6..07ad60d 100644 --- a/tests/type.pure.lisp +++ b/tests/type.pure.lisp @@ -377,6 +377,13 @@ ACTUAL ~D DERIVED ~D~%" (check-type (car a) integer)) (assert (eql (car a) 1)))) - - - +;;; The VOP FIXNUMP/UNSIGNED-BYTE-64 was broken on x86-64, failing +;;; the first ASSERT below. The second ASSERT takes care that the fix +;;; doesn't overshoot the mark. +(with-test (:name (:typep :fixnum-if-unsigned-byte)) + (let ((f (compile nil + (lambda (x) + (declare (type (unsigned-byte #.sb-vm:n-word-bits) x)) + (typep x (quote fixnum)))))) + (assert (not (funcall f (1+ most-positive-fixnum)))) + (assert (funcall f most-positive-fixnum))))