From: Christophe R. <cr...@us...> - 2002-12-04 15:23:06
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs1:/tmp/cvs-serv8362/tests Modified Files: compiler.impure.lisp filesys.test.sh Log Message: 0.7.10.10: Working INLINE inside MACROLET for user code. (more or less as per CSR sbcl-devel 2002-12-03) ... change tricky cross-compiled inline functions to source transforms (including adding some functions to the function database) ... use now-working FUNCTION-LAMBDA-EXPRESSION to get the expander function for local macros ... build a complex LAMBDA-WITH-LEXENV for inlining user code (like CMUCL's INLINE-SYNTACTIC-CLOSURE-LAMBDA does) Some miscellaneous frobs ... actually signal a style warning for array code (though it might actually be in currently-dead-but-should-be-alive code) ... actually test the return value in the second half of filesys.test.sh ... minor text adjustments (no more calling this period "early 0.7.x") Index: compiler.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/compiler.impure.lisp,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- compiler.impure.lisp 11 Nov 2002 08:37:04 -0000 1.34 +++ compiler.impure.lisp 4 Dec 2002 15:23:03 -0000 1.35 @@ -615,6 +615,27 @@ (assert (typep (check-embedded-thes 3 3 2 3.5f0) 'type-error)) +;;; INLINE inside MACROLET +(declaim (inline to-be-inlined)) +(macrolet ((def (x) `(defun ,x (y) (+ y 1)))) + (def to-be-inlined)) +(defun call-inlined (z) + (to-be-inlined z)) +(assert (= (call-inlined 3) 4)) +(macrolet ((frob (x) `(+ ,x 3))) + (defun to-be-inlined (y) + (frob y))) +(assert (= (call-inlined 3) + ;; we should have inlined the previous definition, so the + ;; new one won't show up yet. + 4)) +(defun call-inlined (z) + (to-be-inlined z)) +(assert (= (call-inlined 3) 6)) +(defun to-be-inlined (y) + (+ y 5)) +(assert (= (call-inlined 3) 6)) + ;;;; tests not in the problem domain, but of the consistency of the ;;;; compiler machinery itself Index: filesys.test.sh =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/filesys.test.sh,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- filesys.test.sh 1 Sep 2002 15:14:05 -0000 1.7 +++ filesys.test.sh 4 Dec 2002 15:23:03 -0000 1.8 @@ -184,7 +184,12 @@ (need-match "animal/vertebrate/mammal/../**/robot/*.*" nil) (need-match "animal/vertebrate/mammal/robot/../**/../**/*.*" nil)) (need-matches) +(sb-ext:quit :unix-status 52) EOF +if [ $? != 52 ]; then + echo DIRECTORY/TRUENAME test part 1 failed, unexpected SBCL return code=$? + exit 1 +fi cd .. rm -r $testdir |