From: Juho S. <js...@us...> - 2005-03-17 22:52:53
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31901/tests Modified Files: string.pure.lisp arith.pure.lisp Log Message: 0.8.20.27: Fix x86-64 backend bugs found using Paul Dietz's random tester. * Sign-extension in constant LOGAND, + and TRUNCATE VOPs. * Sign-extension of literal (unsigned-byte 32) passed as arguments on the stack. Fix handling of :START1 and :START2 in the string comparison deftransforms on simple-base-strings (ansi-tests MISC.572/573/574). Minor cleanup: Use the already defined *cache-expand-threshold* instead of magic numbers in pcl/cache.lisp. Index: string.pure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/string.pure.lisp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- string.pure.lisp 16 Jul 2003 08:26:04 -0000 1.3 +++ string.pure.lisp 17 Mar 2005 22:51:43 -0000 1.4 @@ -76,3 +76,14 @@ (assert (raises-error? (make-string 5 :element-type t))) (assert (raises-error? (let () (make-string 5 :element-type t)))) + +;; MISC.574 +(assert (= (funcall (lambda (a) + (declare (optimize (speed 3) (safety 1) + (debug 1) (space 2)) + (fixnum a)) + (string<= (coerce "e99mo7yAJ6oU4" 'base-string) + (coerce "aaABAAbaa" 'base-string) + :start1 a)) + 9) + 9)) Index: arith.pure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/arith.pure.lisp,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- arith.pure.lisp 11 Feb 2005 07:32:53 -0000 1.26 +++ arith.pure.lisp 17 Mar 2005 22:51:43 -0000 1.27 @@ -258,3 +258,9 @@ (test 32 double-float positive) (test 32 single-float negative) (test 32 single-float positive)) + +;; x86-64 sign-extension bug found using pfdietz's random tester. +(assert (= 286142502 + (funcall (lambda () + (declare (notinline logxor)) + (min (logxor 0 0 0 286142502)))))) |