From a6bba93b3cf18ee73ed6edadcc73aac7ca22cc3f Mon Sep 17 00:00:00 2001 From: Stas Boukarev Date: Tue, 12 Dec 2017 18:17:28 +0300 Subject: [PATCH] Report the value in CONSTANT-MODIFIED. --- src/code/condition.lisp | 8 +++++--- src/compiler/ir1opt.lisp | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/code/condition.lisp b/src/code/condition.lisp index 783d46f9f..54a6e37c2 100644 --- a/src/code/condition.lisp +++ b/src/code/condition.lisp @@ -837,11 +837,13 @@ (:report report-duplicate-definition)) (define-condition constant-modified (reference-condition warning) - ((fun-name :initarg :fun-name :reader constant-modified-fun-name)) + ((fun-name :initarg :fun-name :reader constant-modified-fun-name) + (value :initarg :value :reader constant-modified-value)) (:report (lambda (c s) (format s "~@" - (constant-modified-fun-name c)))) + constant data: ~s.~@:>" + (constant-modified-fun-name c) + (constant-modified-value c)))) (:default-initargs :references '((:ansi-cl :special-operator quote) (:ansi-cl :section (3 2 2 3))))) diff --git a/src/compiler/ir1opt.lisp b/src/compiler/ir1opt.lisp index d16c6b09d..7e43df987 100644 --- a/src/compiler/ir1opt.lisp +++ b/src/compiler/ir1opt.lisp @@ -2191,7 +2191,8 @@ (specifier-type 'hash-table)))) (typep value '(vector * 0))) (warn 'constant-modified - :fun-name (shiftf (modifying-cast-caller cast) nil)) ;; warn once + :fun-name (shiftf (modifying-cast-caller cast) nil) ;; warn once + :value value) t)))))) (defun may-delete-cast (cast) -- 2.11.4.GIT