From eca61f35572d371982ebb601d0edefe5c9a942ae Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Thu, 14 Oct 2010 11:16:45 +0000 Subject: [PATCH] 1.0.43.55: move FILE-COMPILE to compiler-test-utils.lisp Neater this way, and we should probably be using it in a few other places too. --- tests/compiler-test-util.lisp | 18 +++++++++++++++++- tests/compiler.impure.lisp | 19 ++----------------- version.lisp-expr | 2 +- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/tests/compiler-test-util.lisp b/tests/compiler-test-util.lisp index f05e3fa..a21f04f 100644 --- a/tests/compiler-test-util.lisp +++ b/tests/compiler-test-util.lisp @@ -19,7 +19,8 @@ #:compiler-derived-type #:find-value-cell-values #:find-code-constants - #:find-named-callees)) + #:find-named-callees + #:file-compile)) (cl:in-package :ctu) @@ -92,3 +93,18 @@ (defmacro assert-consing (form &optional (times '+times+)) `(check-consing t ',form (lambda () ,form) ,times)) + +(defun file-compile (toplevel-forms &key load) + (let* ((lisp "compile-impure-tmp.lisp") + (fasl (compile-file-pathname lisp))) + (unwind-protect + (progn + (with-open-file (f lisp :direction :output) + (dolist (form toplevel-forms) + (prin1 form f))) + (multiple-value-bind (fasl warn fail) (compile-file lisp) + (when load + (load fasl)) + (values warn fail))) + (ignore-errors (delete-file lisp)) + (ignore-errors (delete-file fasl))))) diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index a454e59..d8fcd3d 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -1003,33 +1003,18 @@ (assert (= 0 (count-full-calls "FOO-MAYBE-INLINE" fun))) (assert (= 1 (count-full-calls "QUUX-MARKER" fun))))) -(defun file-compile (toplevel-forms &key load) - (let* ((lisp "compile-impure-tmp.lisp") - (fasl (compile-file-pathname lisp))) - (unwind-protect - (progn - (with-open-file (f lisp :direction :output) - (dolist (form toplevel-forms) - (prin1 form f))) - (multiple-value-bind (fasl warn fail) (compile-file lisp) - (when load - (load fasl)) - (values warn fail))) - (ignore-errors (delete-file lisp)) - (ignore-errors (delete-file fasl))))) - (with-test (:name :bug-405) ;; These used to break with a TYPE-ERROR ;; The value NIL is not of type SB-C::PHYSENV. ;; in MERGE-LETS. - (file-compile + (ctu:file-compile '((LET (outer-let-var) (lambda () (print outer-let-var) (MULTIPLE-VALUE-CALL 'some-function (MULTIPLE-VALUE-CALL (LAMBDA (a) 'foo) 1)))))) - (file-compile + (ctu:file-compile '((declaim (optimize (debug 3))) (defstruct bug-405-foo bar) (let () diff --git a/version.lisp-expr b/version.lisp-expr index e675ce4..ced99d1 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.43.54" +"1.0.43.55" -- 1.7.10.4