[Cmucl-cvs] [git] CMU Common Lisp branch 20f-branch updated. snapshot-2014-09-15-g0fe5119
Raymond Toy
rtoy at common-lisp.net
Sat Oct 4 19:37:49 UTC 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".
The branch, 20f-branch has been updated
via 0fe511923eb65793aaa0bd17339e5cfa256ef4b9 (commit)
from 227e5085c4e1bc0792c77a2cf0f06bfa518e4a38 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0fe511923eb65793aaa0bd17339e5cfa256ef4b9
Author: Raymond Toy <toy.raymond at gmail.com>
Date: Sat Oct 4 12:37:35 2014 -0700
Update fasl version to 20f.
* bootfiles/20e/boot-20f.lisp
* Bootstrap the version change
* compiler/byte-comp.lisp
* Update the fasl version to 20f.
Use boot-20f as the bootstrap file when compiling from the 2014-09
snapshot.
diff --git a/src/bootfiles/20e/boot-20f.lisp b/src/bootfiles/20e/boot-20f.lisp
new file mode 100644
index 0000000..62024ba
--- /dev/null
+++ b/src/bootfiles/20e/boot-20f.lisp
@@ -0,0 +1,68 @@
+;;;;
+;;;; Boot file for changing the fasl file version numbers to 20f.
+;;;;
+
+(in-package :c)
+
+(setf lisp::*enable-package-locked-errors* nil)
+
+;;;
+;;; Note that BYTE-FASL-FILE-VERSION is a constant.
+;;;
+;;; (Be sure to change BYTE-FASL-FILE-VERSION in
+;;; compiler/byte-comp.lisp to the correct value too!)
+;;;
+#-cmu20f
+(setf (symbol-value 'byte-fasl-file-version) #x20f)
+#-cmu20f
+(setf (backend-fasl-file-version *target-backend*) #x20f)
+
+;;;
+;;; Don't check fasl versions in the compiling Lisp because we'll
+;;; load files compiled with the new version numbers.
+;;;
+#-cmu20f
+(setq lisp::*skip-fasl-file-version-check* t)
+
+;;;
+;;; This is here because BYTE-FASL-FILE-VERSION is constant-folded in
+;;; OPEN-FASL-FILE. To make the new version number take effect, we
+;;; have to redefine the function.
+;;;
+#-cmu20f
+(defun open-fasl-file (name where &optional byte-p)
+ (declare (type pathname name))
+ (let* ((stream (open name :direction :output
+ :if-exists :new-version
+ :element-type '(unsigned-byte 8)
+ :class 'binary-text-stream))
+ (res (make-fasl-file :stream stream)))
+ (multiple-value-bind
+ (version f-vers f-imp)
+ (if byte-p
+ (values "Byte code"
+ byte-fasl-file-version
+ (backend-byte-fasl-file-implementation *backend*))
+ (values (backend-version *backend*)
+ (backend-fasl-file-version *backend*)
+ (backend-fasl-file-implementation *backend*)))
+ (format stream
+ "FASL FILE output from ~A.~@
+ Compiled ~A on ~A~@
+ Compiler ~A, Lisp ~A~@
+ Targeted for ~A, FASL version ~X~%"
+ where
+ (ext:format-universal-time nil (get-universal-time))
+ (machine-instance) compiler-version
+ (lisp-implementation-version)
+ version f-vers)
+ ;;
+ ;; Terminate header.
+ (dump-byte 255 res)
+ ;;
+ ;; Specify code format.
+ (dump-fop 'lisp::fop-long-code-format res)
+ (dump-byte f-imp res)
+ (dump-unsigned-32 f-vers res))
+ res))
+
diff --git a/src/compiler/byte-comp.lisp b/src/compiler/byte-comp.lisp
index 49810d6..2d2b3ac 100644
--- a/src/compiler/byte-comp.lisp
+++ b/src/compiler/byte-comp.lisp
@@ -38,7 +38,7 @@
;; 0-9 followed by a single hex digit in the range a-f. Then the
;; version looks like a decimal number followed by a minor release
;; letter of a to f.
-(defconstant byte-fasl-file-version #x20e)
+(defconstant byte-fasl-file-version #x20f)
(let* ((version-string (format nil "~X" byte-fasl-file-version)))
;; Add :cmu<n> to *features*
-----------------------------------------------------------------------
Summary of changes:
src/bootfiles/{20b/boot-20c.lisp => 20e/boot-20f.lisp} | 14 +++++++-------
src/compiler/byte-comp.lisp | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
copy src/bootfiles/{20b/boot-20c.lisp => 20e/boot-20f.lisp} (89%)
hooks/post-receive
--
CMU Common Lisp
More information about the cmucl-cvs
mailing list