From 562ee66b79906a9efec5c17a61a7d52f67ba698a Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Mon, 22 Sep 2003 16:28:24 +0000 Subject: [PATCH] Initial checkin. This file contains miscellaneous tests that exercise bugs that have come up in various implementations of CL. Many of the tests were generated by the random tester (random-int-form.lsp), so they look rather odd. I'm entering the tests here so they don't get lost. --- ansi-tests/misc.lsp | 672 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 672 insertions(+) create mode 100644 ansi-tests/misc.lsp diff --git a/ansi-tests/misc.lsp b/ansi-tests/misc.lsp new file mode 100644 index 00000000..dff3660c --- /dev/null +++ b/ansi-tests/misc.lsp @@ -0,0 +1,672 @@ +;-*- Mode: Lisp -*- +;;;; Author: Paul Dietz +;;;; Created: Sat Sep 20 09:45:15 2003 +;;;; Contains: Miscellaneous tests + +;;; +;;; This file contains odds-and-ends, mostly tests that came up as +;;; bug-stimulators in various implementations. +;;; + +(in-package :cl-test) + +(deftest misc.1 + (funcall + (COMPILE NIL '(LAMBDA (B) + (DECLARE (TYPE (INTEGER 8 22337) B)) + (+ B 2607688420))) + 100) + 2607688520) + +(deftest misc.2 + (funcall (compile nil + '(lambda (b) (integer-length (dpb b (byte 4 28) -1005)))) + 12800263) + 32) + +(deftest misc.3 + (funcall + (compile + nil + '(lambda (a b) + (declare (optimize (speed 3) (debug 1))) + (let ((v7 + (let ((v2 (block b5 (return-from b5 (if t b -4))))) + a))) + -65667836))) + 1 2) + -65667836) + +(deftest misc.4 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer -629491 -333) a) + (type (integer -142 1) b) + (type (integer 0 12604) c) + (optimize (speed 3) (safety 1) (debug 1))) + (let ((v6 (block b7 (return-from b7 (if (eql b 0) 1358159 a))))) + b))) + -1000 -17 6143) + -17) + +(deftest misc.5 + (funcall + (compile nil + '(lambda () (* 390 (- (signum (logeqv -8005440 -2310)) + -10604863))))) + 4135896180) + +(deftest misc.6 + (funcall + (compile nil + '(lambda (a c) + (declare (optimize (speed 3) (debug 1))) + (flet ((%f14 () (if c a -486826646))) + (let ((v7 (flet ((%f18 () (%f14))) a))) + (let ((v5 (%f14))) + 0))))) + 10 20) + 0) + +(deftest misc.7 + (funcall (compile nil + '(lambda (c) (declare (optimize (speed 3) (debug 1))) + (flet ((%f18 () -36)) + (flet ((%f13 () + (let () (block b8 (return-from b8 c))))) + (%f18))))) + 10) + -36) + +(deftest misc.8 + (funcall + (compile + nil + '(lambda (a b) + (declare (optimize (speed 3) (debug 1))) + (let ((v3 (flet ((%f12 () (min b (block b2 (return-from b2 a))))) + a))) + (block b7 + (flet ((%f5 () (return-from b7 b))) + (%f5)))))) + 10 20) + 20) + +(deftest misc.9 + (funcall + (compile + nil + '(lambda () + (declare (optimize (speed 3) (debug 1))) + (block b6 + (flet ((%f3 () + (ldb (byte 19 23) + (block b1 + (let () + (- (if nil (return-from b6 89627) + 1160) + (return-from b1 22923))))))) + 1))))) + 1) + +(deftest misc.10 + (funcall + (compile + nil + '(lambda (c) + (declare (optimize (speed 3) (debug 1)) + (type (integer -15417757 5816) c)) + (flet ((%f3 () (if nil -3143 c))) + (block b5 + (let ((v7 (if (< 23613642 (%f3)) c -23097977))) + (let ((v5 + (return-from b5 + (if (eql c v7) + (let ((v6 (%f3))) 4650813) + 782)))) + -4362540)))))) + -10000) + 782) + +(deftest misc.11 + (funcall + (compile + nil + '(lambda (a b c) + (declare (optimize (speed 3) (debug 1))) + (block b8 + (logxor + (let ((v3 (return-from b8 120789657))) 3690) + (block b2 + (flet ((%f9 () + (flet ((%f10 () -1)) + c))) + (flet ((%f3 () (let () (return-from b2 b)))) + a))))))) + 1 2 3) + 120789657) + +(deftest misc.12 + (funcall + (compile + nil + '(lambda (c) + (declare (optimize (speed 3) (safety 1) (debug 1)) + (type (integer -171067 -5) c)) + (flet ((%f16 () + (flet ((%f12 () 439)) + 3358))) + (flet ((%f14 () c)) + (if (%f14) -1 (%f14)))))) + -100) + -1) + +(deftest misc.13 + (funcall + (compile + nil + '(lambda (b c) + (declare (optimize (speed 3) (safety 1) (debug 1)) + (type (integer -1554410 36086789) b) + (type (integer -15033876209 126774299) c) + ) + (block b3 + (flet ((%f9 () + (abs + (flet ((%f5 () + (return-from b3 -2))) + (if (if (<= 1 c) b (%f5)) -65 -47895812))))) + (min + (let ((v3 (let ((v8 (%f9))) b))) b) + (if (= 1364001 (%f9)) + (logeqv (block b5 -2713) -247) + -19)))))) + 0 0) + -2) + +(deftest misc.14 + (funcall + (compile + nil + '(lambda (c) + (declare (notinline logandc1)) + (block b6 + (flet ((%f17 () (return-from b6 c))) + (logandc1 (%f17) + (if 1 + 450967818 + (let ((v1 (%f17))) -17))))))) + 10) + 10) + +(deftest misc.15 + (funcall + (compile + nil + '(lambda (a b) + (declare (optimize (speed 3) (safety 1) (debug 1))) + (flet ((%f6 () a)) + (block b5 + (flet ((%f14 () + (min 17593 (block b1 (return-from b1 b))))) + (block b7 (if (%f6) (return-from b7 28182012) + (return-from b5 0)))))))) + 3 5) + 28182012) + +(deftest misc.16 + (funcall + (compile + nil + '(lambda (a c) + (flet ((%f14 () + (block b6 + (flet ((%f7 () (return-from b6 4))) + (if 587793 (if (%f7) c -23086423) (%f7)))))) + (block b1 + (flet ((%f18 () a)) + (logandc1 (return-from b1 -2781) + (if (%f14) 58647578 -396746))))))) + 1 2) + -2781) + +(deftest misc.17 + (funcall + (compile + nil + '(lambda (a b c) + (declare (optimize (speed 3) (safety 1) (debug 1)) + (type (integer 4 23363) b) + (type (integer -32681 41648) c) + ) + (flet ((%f18 () + (if nil c b))) + (if (if (> -71810514 a) 102077 465393) + (block b3 (if (%f18) (return-from b3 c) c)) + (%f18))))) + 0 10 1000) + 1000) + +(deftest misc.18 + (funcall + (compile + nil + '(lambda (a b c) + (declare (optimize (speed 3) (safety 1) (debug 1)) + (type (integer 7 58010860) a) + (type (integer -3573280 -1) b) + (type (integer -920848 -819) c) + ) + (flet ((%f15 () (if (logbitp 5 a) a c))) + (min (if (%f15) b -39) (if (> 0 -14756) b (%f15)))))) + 8 -1000 -10000) + -1000) + +(deftest misc.19 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer 54 3862515) a) (type (integer -961325 1539) b) + (type (integer 6 31455) c) (ignorable a b c) + (optimize (speed 3) (safety 1) (debug 1))) + (lognor + (flet ((%f13 () b)) (%f13)) + (flet ((%f1 () (return-from %f1 a))) + (labels ((%f3 () (%f1))) + -428))))) + 100 0 200) + 427) + +(deftest misc.20 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer -1 31880308) a) + (type (integer -11374222037 5331202966) b) + (type (integer -483 -1) c) + (ignorable a b c) + (optimize (speed 3) (safety 1) (debug 1))) + (labels ((%f6 () a)) + (if (eql (let ((v9 (%f6))) -50072824) c) + 28146341 + (if (< 119937 21304962) 21304962 (%f6)))))) + 0 0 -1) + 21304962) + +(deftest misc.21 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer 398 3955) a) (type (integer 233 464963) b) + (type (integer -124477 16) c) (ignorable a b c) + (optimize (speed 3) (safety 1) (debug 1))) + (logior + (flet ((%f18 () + -3584768)) + (%f18)) + (flet ((%f1 () + (return-from %f1 c))) + (flet ((%f9 () + (if (%f1) 24181 7))) + 56048))))) + 400 300 0) + -3547152) + +(deftest misc.22 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer -126378 -103) a) + (type (integer -1158604975 1) b) + (type (integer 502 28036) c) + (ignorable a b c) + (optimize (speed 3) (safety 1) (debug 1))) + (labels ((%f13 () c)) + (labels ((%f3 () + (logandc1 + c + (block b6 + (max -73100 + (if b (return-from b6 4935) (%f13))))))) + (%f13))))) + -200 0 1000) + 1000) + +(deftest misc.23 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer 1 18911480) a) + (type (integer -1 48333) b) + (type (integer -3881001767 -1937357) c) + (ignorable a b c) + (optimize (speed 3) (safety 1) (debug 1))) + (labels ((%f10 () c)) + (block b7 + (logorc2 + (* (%f10) + (if (ldb-test (byte 27 1) -11337) + (return-from b7 -2) + 246137101)) + (min (%f10) (return-from b7 -76114))))))) + 1 0 -2000000) + -2) + +(deftest misc.24 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer -1477249397 -10697252) a) + (type (integer -7 54591) b) + (type (integer -102559556 15) c) + (ignorable a b c) + (optimize (speed 3) (safety 1) (debug 1))) + (block b8 + (let ((v1 (return-from b8 a))) + (1+ + (block b3 + (flet ((%f10 () + (min a (return-from b3 -1)))) + 16776220))))))) + -11000000 0 0) + -11000000) + +(deftest misc.25 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer -944 111244) a) + (type (integer 100512 3286178) b) + (type (integer -2170236 -107) c) + (ignorable a b c) + (optimize (speed 3) (safety 1) (debug 1))) + (labels ((%f17 () c)) + (labels ((%f16 () a)) + (if (if (logbitp 10 1029643) t 355) + (if (equal (%f17) b) c a) + (if (= 1325844 (%f16)) -50285 (1- (%f17)))))))) + 0 200000 -200) + 0) + +(deftest misc.26 + (funcall + (compile + nil + '(lambda (c) + (declare (optimize speed)) + (block b5 + (if (logbitp 6 -97) + (let ((v2 (block b8 -42484))) c) + (flet ((%f10 () (return-from b5 -785143))) + (let ((v3 (%f10))) + (%f10))))))) + 0) + -785143) + +(deftest misc.27 + (funcall + (compile + nil + '(lambda (a b c) + (declare (optimize (speed 3) (debug 1))) + (labels ((%f14 () c)) + (logand (%f14) + (labels ((%f15 () (logeqv (let ((v1 b)) c) + (return-from %f15 -1740)))) + (labels ((%f8 () (%f15))) + a)))))) + 5 2 3) + 1) + +(deftest misc.28 + (funcall + (compile + nil + '(lambda (a b c) + (declare + (type (integer 1948 12024) b) + (type (integer -104357939 -252) c) + (optimize (speed 3) (debug 1))) + (flet ((%f18 () c)) + (logandc1 (if (eql b (%f18)) 0 a) + (if (ldb-test (byte 30 30) 1) (%f18) 1) + )))) + 0 2000 -300) + 1) + +(deftest misc.29 + (funcall + (compile + nil + '(lambda (a b c) + (declare (type (integer 661607 10451683348) a) + (type (integer -2 -2) b) + (type (integer 5996117 18803237) c) + (optimize (speed 3) (safety 1) (debug 1))) + (labels ((%f16 () -29)) + (flet ((%f7 () + (labels ((%f1 () a)) + (let () + (block b3 + (if 37101207 + (return-from b3 -5322045) + (let ((v5 b)) + 146099574))))))) + (if (%f16) c c))))) + 1000000 -2 6000000) + 6000000) + +(deftest misc.30 + (funcall + (compile + nil + '(lambda (c) + (declare (type (integer -253 -1) c) + (optimize (speed 3) (safety 1) (debug 1))) + (flet ((%f8 () c)) + (if (= (%f8) 481) (%f8) 1779465)))) + -100) + 1779465) + +(deftest misc.31 + (funcall + (compile nil + '(lambda () (let ((v9 (labels ((%f13 () nil)) nil))) + (let ((v3 (logandc2 97 3))) + (* v3 (- 37391897 (logand v3 -66)))))))) + 3589619040) + +(deftest misc.32 + (funcall + (compile + nil + '(lambda (a d) + (declare (type (integer -8507 26755) a) + (type (integer -393314538 2084485) d) + (optimize (speed 3) (safety 1) (debug 1))) + (gcd + (if (= 0 a) 10 (abs -1)) + (logxor -1 + (min -7580 + (max (logand a 31365125) d)))))) + 1 1) + 1) + +(deftest misc.33 + (funcall + (compile + nil + '(lambda (a b c d) + (declare (type (integer 240 100434465) a) + (optimize (speed 3) (safety 1) (debug 1))) + (logxor + (if (ldb-test (byte 27 4) d) + -1 + (max 55546856 -431)) + (logorc2 + (if (>= 0 b) + (if (> b c) (logandc2 c d) (if (> d 224002) 0 d)) + (signum (logior c b))) + (logior a -1))))) + 256 0 0 0) + 55546856) + +(deftest misc.34 + (funcall + (compile nil + `(lambda (b c) + (declare (type (integer -23228343 2) b) + (type (integer -115581022 512244512) c) + (optimize (speed 3) (safety 1) (debug 1))) + (* (* (logorc2 3 (deposit-field 4667947 (byte 14 26) b)) + (deposit-field b (byte 25 27) -30424886)) + (dpb b (byte 23 29) c) + ))) + 0 0) + 0) + +(deftest misc.35 + (funcall + (compile + nil + '(lambda (c) + (declare (type (integer -5945502333 12668542) c) + (optimize (speed 3))) + (let ((v2 (* c 12))) + (- (max (if (/= 109335113 v2) -26479 v2) + (deposit-field 311 + (byte 14 28) + (min (max 521326 c) -51))))))) + 12668542) + 26479) + +(deftest misc.36 + (funcall + (compile nil + '(lambda () + (declare (notinline + logand) + (optimize (speed 0))) + (logand + (block b5 + (flet ((%f1 () + (return-from b5 -220))) + (let ((v7 (%f1))) + (+ 359749 35728422)))) + -24076)))) + -24284) + +(deftest misc.37 + (funcall + (compile + nil + '(lambda (b) + (declare (notinline -) (optimize (speed 0))) + (- (block b4 + (flet ((%f4 () + (return-from b4 b))) + (%f4)))))) + 10) + -10) + +(deftest misc.38 + (funcall + (compile + nil + '(lambda (x) (declare (type (integer 0 100) x) + (optimize (speed 3) (safety 1))) + (logandc1 x x))) + 79) + 0) + +(deftest misc.39 + (funcall + (compile + nil + '(lambda (x) (declare (type (integer 0 100) x) + (optimize (speed 3) (safety 1))) + (logandc2 x x))) + 79) + 0) + +(deftest misc.40 + (funcall + (compile + nil + '(lambda (x) (declare (type (integer 0 100) x) + (optimize (speed 3) (safety 1))) + (logorc1 x x))) + 79) + -1) + +(deftest misc.41 + (funcall + (compile + nil + '(lambda (x) (declare (type (integer 0 100) x) + (optimize (speed 3) (safety 1))) + (logorc2 x x))) + 79) + -1) + +(deftest misc.42 + (funcall + (compile + nil + '(lambda (x) + (declare (type -100 100) x) + (ldb (byte 1 32) x))) + -1) + 1) + +(deftest misc.43 + (funcall (compile nil + '(lambda () (flet ((%f2 () 288213285)) + (+ (%f2) (* 13 (%f2))))))) + 4034985990) + + +(deftest misc.44 + (funcall + (compile + nil + '(lambda (a) + (declare (type (integer -917858 964754309) a) + (optimize (speed 3))) + (* 25 (min (max a 171625820) 171626138)))) + 861929141) + 4290653450) + +(deftest misc.45 + (funcall + (compile + nil + '(lambda (b) + (declare (type (integer 21 9673) b) + (optimize (speed 3))) + (* (integer-length -198435631) (+ b 137206182)))) + 6027) + 3841941852) + +(deftest misc.46 + (funcall + (compile + nil + '(LAMBDA (B C) + (DECLARE (TYPE (INTEGER 0 1) B) (OPTIMIZE (SPEED 3))) + (FLET ((%F2 () (LOGNOR (BLOCK B5 138) C))) + (IF (NOT (OR (= -67399 B) B)) + (DEPOSIT-FIELD (%F2) (BYTE 11 8) -3) + C)))) + 0 0) + 0) + + \ No newline at end of file -- GitLab