(cl:in-package :ctu)
(unless (fboundp 'compiler-derived-type)
- (defknown compiler-derived-type (t) (values t t) (movable flushable unsafe))
+ (defknown compiler-derived-type (t) (values t t) (flushable))
(deftransform compiler-derived-type ((x) * * :node node)
(sb-c::delay-ir1-transform node :optimize)
`(values ',(type-specifier (sb-c::lvar-type x)) t))
(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)))))
-
-(defun file-compile (toplevel-forms &key load)
- (let* ((lisp (merge-pathnames "file-compile-tmp.lisp"))
- (fasl (compile-file-pathname lisp)))
- (unwind-protect
- (progn
- (with-open-file (f lisp :direction :output)
(if (stringp toplevel-forms)
(write-line toplevel-forms f)
(dolist (form toplevel-forms)