|
[Sbcl-commits] CVS: sbcl/tests compiler.pure.lisp,1.214,1.215
From: Nikodemus Siivola <demoss@us...> - 2009-10-07 18:06
|
Update of /cvsroot/sbcl/sbcl/tests
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv7296/tests
Modified Files:
compiler.pure.lisp
Log Message:
1.0.31.31: SATISFIES cannot refer to local functions
* Fix misoptimization: use SB-C::GLOBAL-FUNCTION instead of
CL:FUNCTION. (Reported by Stanislaw Halik)
* Also fix a typo in the COMPARE-AND-SWAP docstring. (Thanks to Larry
Valkama.)
Index: compiler.pure.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/tests/compiler.pure.lisp,v
retrieving revision 1.214
retrieving revision 1.215
diff -u -d -r1.214 -r1.215
--- compiler.pure.lisp 14 Sep 2009 09:32:53 -0000 1.214
+++ compiler.pure.lisp 7 Oct 2009 18:06:36 -0000 1.215
@@ -3347,3 +3347,16 @@
(test 'simple-string "%CONCATENATE-TO-STRING")
(test 'base-string "%CONCATENATE-TO-BASE-STRING")
(test 'simple-base-string "%CONCATENATE-TO-BASE-STRING")))
+
+(with-test (:name :satisfies-no-local-fun)
+ (let ((fun (compile nil `(lambda (arg)
+ (labels ((local-not-global-bug (x)
+ t)
+ (bar (x)
+ (typep x '(satisfies local-not-global-bug))))
+ (bar arg))))))
+ (assert (eq 'local-not-global-bug
+ (handler-case
+ (funcall fun 42)
+ (undefined-function (c)
+ (cell-error-name c)))))))
|
| Thread | Author | Date |
|---|---|---|
| [Sbcl-commits] CVS: sbcl/tests compiler.pure.lisp,1.214,1.215 | Nikodemus Siivola <demoss@us...> |