[Openmcl-cvs-notifications] r13195 - in /trunk/source: compiler/nx-basic.lisp level-1/l1-utils.lisp
gz at clozure.com
gz at clozure.com
Thu Nov 12 14:11:33 EST 2009
Author: gz
Date: Thu Nov 12 14:11:32 2009
New Revision: 13195
Log:
Add variable *strict-checking* to control checking for e.g. non-portable th=
ough valid code. For now it only controls one case - if true, defconstant =
redefinition will require the new value to be eql to the old one.
Modified:
trunk/source/compiler/nx-basic.lisp
trunk/source/level-1/l1-utils.lisp
Modified: trunk/source/compiler/nx-basic.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/nx-basic.lisp (original)
+++ trunk/source/compiler/nx-basic.lisp Thu Nov 12 14:11:32 2009
@@ -535,6 +535,9 @@
(eval-when (:load-toplevel :execute)
, at body))))
=
+(defvar *strict-checking* nil
+ "If true, issues warnings/errors in more cases, e.g. for valid but non-p=
ortable code")
+
=
;; Should be true if compiler warnings UI doesn't use source locations, fa=
lse if it does.
(defvar *merge-compiler-warnings* t "If false, don't merge compiler warnin=
gs with different source locations")
Modified: trunk/source/level-1/l1-utils.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/level-1/l1-utils.lisp (original)
+++ trunk/source/level-1/l1-utils.lisp Thu Nov 12 14:11:32 2009
@@ -420,7 +420,8 @@
(if (constant-symbol-p var)
(let* ((old-value (%sym-global-value var)))
(unless (eq old-value (%unbound-marker-8))
- (if (similar-as-constants-p (%sym-global-value var) value)
+ (if (or (eql old-value value)
+ (and (not *strict-checking*) (similar-as-constants-p old=
-value value)))
(return)
;; This should really be a cell error, allow options other than
;; redefining (such as don't redefine and continue)...
More information about the Openmcl-cvs-notifications
mailing list