X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.impure.lisp;h=18622e1f4677124072d2d4d6e02cc6754ab440b4;hb=c3699db2053ff3b5ac6a98d4431c3789496002d8;hp=a1166abf13e59b829def8b49d1bfaa2e2d0a1374;hpb=784b195743728436795b90f95273c3535ebee9a5;p=sbcl.git diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index a1166ab..18622e1 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -845,6 +845,32 @@ (declare (optimize (speed 0) (safety 3) (space 0) (debug 1) (compilation-speed 0))) (adjoin a b)) + +;;; bug reported by Doug McNaught on sbcl-devel 2003-09-14: +;;; COMPILE-FILE did not bind *READTABLE* +(let* ((source "bug-doug-mcnaught-20030914.lisp") + (fasl (compile-file-pathname source))) + (labels ((check () + (assert (null (get-macro-character #\])))) + (full-check () + (check) + (assert (typep *bug-doug-mcnaught-20030914* + '(simple-array (unsigned-byte 4) (*)))) + (assert (equalp *bug-doug-mcnaught-20030914* #(1 2 3))) + (makunbound '*bug-doug-mcnaught-20030914*))) + (compile-file source) + (check) + (load fasl) + (full-check) + (load source) + (full-check) + (delete-file fasl))) + +(defun expt-derive-type-bug (a b) + (unless (< a b) + (truncate (expt a b)))) +(assert (equal (multiple-value-list (expt-derive-type-bug 1 1)) + '(1 0))) ;;;; tests not in the problem domain, but of the consistency of the ;;;; compiler machinery itself