diff --git a/code/misc.lisp b/code/misc.lisp index e81bc42e8a8153ce8ce1028d4bebb229b36e59d7..425712d6bba9829d3554780b0d92ade103cc5a23 100644 --- a/code/misc.lisp +++ b/code/misc.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/misc.lisp,v 1.32 2003/09/25 02:40:13 toy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/misc.lisp,v 1.33 2003/09/25 14:08:33 toy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -124,6 +124,18 @@ #+pentium (sys:register-lisp-runtime-feature :pentium) +#+sparc-v7 +(sys:register-lisp-runtime-feature :sparc-v7) + +#+sparc-v8 +(sys:register-lisp-runtime-feature :sparc-v8) + +#+sparc-v9 +(sys:register-lisp-runtime-feature :sparc-v9) + +#+complex-fp-vops +(sys:register-lisp-feature :complex-fp-vops) + (defun featurep (x) "If X is an atom, see if it is present in *FEATURES*. Also handle arbitrary combinations of atoms using NOT, AND, OR." diff --git a/code/sysmacs.lisp b/code/sysmacs.lisp index b69b52fff4e742773f654415789669602014883b..9ea3717bd27ecb396229ba9138b74b7fa6bfa50d 100644 --- a/code/sysmacs.lisp +++ b/code/sysmacs.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sysmacs.lisp,v 1.28 2003/09/25 02:40:13 toy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sysmacs.lisp,v 1.29 2003/09/25 14:08:33 toy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -19,14 +19,16 @@ (defmacro register-lisp-feature (feature) "Register the feature as having influenced the CMUCL build process." - `(pushnew ',feature *features*)) + `(pushnew ,feature *features*)) (defmacro register-lisp-runtime-feature (feature) "Register the feature as having influenced the CMUCL build process, and also the CMUCL C runtime." - `(progn - (pushnew ',feature *features*) - (pushnew ',feature sys::*runtime-features*))) + (let ((f (gensym))) + `(progn + (let ((,f ,feature)) + (pushnew ,f *features*) + (pushnew ,f sys::*runtime-features*))))) (in-package "LISP") diff --git a/compiler/byte-comp.lisp b/compiler/byte-comp.lisp index 41151ca36225d181211a8b61935111e7257aae3b..2074021242f8444f3e48d4f57df5ef57d3b4b0a0 100644 --- a/compiler/byte-comp.lisp +++ b/compiler/byte-comp.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/byte-comp.lisp,v 1.38 2003/09/04 15:05:06 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/byte-comp.lisp,v 1.39 2003/09/25 14:08:33 toy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -34,6 +34,12 @@ (defconstant byte-fasl-file-version #x18e) +(let* ((version-string (format nil "~X" byte-fasl-file-version))) + (sys:register-lisp-feature (intern (concatenate 'string "CMU" version-string) :keyword)) + (sys:register-lisp-feature (intern (concatenate 'string "CMU" + (subseq version-string 0 (1- (length version-string)))) + :keyword))) + (defun backend-byte-fasl-file-type (backend) (ecase (backend-byte-order backend) (:big-endian "bytef")