X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.impure.lisp;h=c0f5b0a2c1aec994bd9b6fbbe4ed12c4daca396f;hb=1f704cd4ff7a23e518d6d1565951af7bae0a2a9f;hp=fe4f6c3a0e022f166b026718afd44d79bcf268d6;hpb=6c1e23b7535e86697e518125f60550ecac82439d;p=sbcl.git diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index fe4f6c3..c0f5b0a 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -1409,6 +1409,34 @@ (compile nil `(lambda (x) (cmacro-with-tricky-key x 42))) (assert (and (not warn) (not fail))) (assert (string= "fun=42" (funcall fun 'tricky-key))))) + +(defun test-function-983 (x) x) +(define-compiler-macro test-function-983 (x) x) + +(with-test (:name :funcall-compiler-macro) + (assert + (handler-case + (and (compile nil + `(lambda () + (funcall (function test-function-983 junk) 1))) + nil) + (sb-c:compiler-error () t)))) + +(defsetf test-984 %test-984) + +(with-test (:name :setf-function-with-setf-expander) + (assert + (handler-case + (and + (defun (setf test-984) ()) + nil) + (style-warning () t)))) + +(with-test (:name :compile-setf-function) + (defun (setf compile-setf) ()) + (assert (equal (compile '(setf compile-setf)) + '(setf compile-setf)))) + ;;;; tests not in the problem domain, but of the consistency of the ;;;; compiler machinery itself