X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.impure.lisp;h=d371ea9f9c30a4d97ce7d6a8bc5a974379e16f0b;hb=079ef9dad558ca07cb8178ef428bf738112174fa;hp=33936a536dab2d4183ad55ace6828723b9166839;hpb=d4fb62259d04a4513d6ae20ca9f2487c4dfe1c1a;p=sbcl.git diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index 33936a5..d371ea9 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -308,12 +308,17 @@ ;;; BUG 48a. and b. (symbol-macrolet handling), fixed by Eric Marsden ;;; and Raymond Toy for CMUCL, fix ported for sbcl-0.7.6.18. (multiple-value-bind (function warnings-p failure-p) - (compile nil '(lambda () (symbol-macrolet ((t nil)) t))) + (compile nil '(lambda () + ;; not interested in the package lock violation here + (declare (sb-ext:disable-package-locks t)) + (symbol-macrolet ((t nil)) t))) (assert failure-p) (assert (raises-error? (funcall function) program-error))) (multiple-value-bind (function warnings-p failure-p) (compile nil '(lambda () + ;; not interested in the package lock violation here + (declare (sb-ext:disable-package-locks *standard-input*)) (symbol-macrolet ((*standard-input* nil)) *standard-input*))) (assert failure-p) @@ -893,7 +898,7 @@ ;;;; MUFFLE-CONDITIONS test (corresponds to the test in the manual) (defvar *compiler-note-count* 0) -#-alpha ; KLUDGE +#-(or alpha x86-64) ; FIXME: make a better test! (handler-bind ((sb-ext:compiler-note (lambda (c) (declare (ignore c)) (incf *compiler-note-count*)))) @@ -910,6 +915,15 @@ (assert (= *compiler-note-count* 1)) (assert (equal (multiple-value-list (funcall fun 1)) '(5 -5))))) +(handler-case + (eval '(flet ((%f (&key) nil)) (%f nil nil))) + (error (c) :good) + (:no-error (val) (error "no error: ~S" val))) +(handler-case + (eval '(labels ((%f (&key x) x)) (%f nil nil))) + (error (c) :good) + (:no-error (val) (error "no error: ~S" val))) + ;;;; tests not in the problem domain, but of the consistency of the ;;;; compiler machinery itself