From: Alexey D. <ade...@us...> - 2002-09-29 07:03:25
|
Update of /cvsroot/sbcl/sbcl/tests In directory usw-pr-cvs1:/tmp/cvs-serv21159/tests Modified Files: compiler.impure.lisp Log Message: 0.7.8.5: Removed obsolete bug entries 110 and 153. Index: compiler.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/compiler.impure.lisp,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- compiler.impure.lisp 28 Sep 2002 06:50:25 -0000 1.22 +++ compiler.impure.lisp 29 Sep 2002 07:03:19 -0000 1.23 @@ -376,6 +376,50 @@ (ignore-errors (the-in-arguments-2 1)) (assert (null result)) (assert (typep condition 'type-error))) + +;;; bug 153: a hole in a structure slot type checking +(declaim (optimize safety)) +(defstruct foo153 + (bla 0 :type fixnum)) +(defun bug153-1 () + (let ((foo (make-foo153))) + (setf (foo153-bla foo) '(1 . 1)) + (format t "Is ~a of type ~a a cons? => ~a~%" + (foo153-bla foo) + (type-of (foo153-bla foo)) + (consp (foo153-bla foo))))) +(defun bug153-2 (x) + (let ((foo (make-foo153))) + (setf (foo153-bla foo) x) + (format t "Is ~a of type ~a a cons? => ~a~%" + (foo153-bla foo) + (type-of (foo153-bla foo)) + (consp (foo153-bla foo))))) + +(multiple-value-bind (result condition) + (ignore-errors (bug153-1)) + (declare (ignore result)) + (assert (typep condition 'type-error))) +(multiple-value-bind (result condition) + (ignore-errors (bug153-2 '(1 . 1))) + (declare (ignore result)) + (assert (typep condition 'type-error))) + +;;; bug 110: the compiler flushed the argument type test and the default +;;; case in the cond. + +(defun bug110 (x) + (declare (optimize (safety 2) (speed 3))) + (declare (type (or string stream) x)) + (cond ((typep x 'string) 'string) + ((typep x 'stream) 'stream) + (t + 'none))) + +(multiple-value-bind (result condition) + (ignore-errors (bug110 0)) + (declare (ignore result)) + (assert (typep condition 'type-error))) ;;;; tests not in the problem domain, but of the consistency of the ;;;; compiler machinery itself |