mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
0.6.10.11:
fixed problem pointed out by Raymond Wiker: DEFCONSTANT-EQX now EVALs EXPR only once per situation tweaked some compiler output for better line breaking
This commit is contained in:
parent
1bdc658b91
commit
92f6ecdad2
2
make.sh
2
make.sh
|
|
@ -4,7 +4,7 @@
|
|||
# for getting an executable from it. We want any two reconstructions
|
||||
# starting from the same source to end up in the same result. That's
|
||||
# just a basic intellectual premise."
|
||||
# -- Christian Quinnec, in _Lisp In Small Pieces_, p. 313
|
||||
# -- Christian Queinnec, in _Lisp In Small Pieces_, p. 313
|
||||
|
||||
# This software is part of the SBCL system. See the README file for
|
||||
# more information.
|
||||
|
|
|
|||
|
|
@ -175,10 +175,14 @@
|
|||
;; ANSI Common Lisp operations.
|
||||
(eval-when (:compile-toplevel :load-toplevel :execute)
|
||||
(let ((,expr-tmp ,expr))
|
||||
(unless (and (boundp ',symbol)
|
||||
(constantp ',symbol)
|
||||
(funcall ,eqx (symbol-value ',symbol) ,expr-tmp))
|
||||
(defconstant ,symbol ,expr ,@(when doc `(,doc))))))
|
||||
(cond ((boundp ',symbol)
|
||||
(unless (and (constantp ',symbol)
|
||||
(funcall ,eqx
|
||||
(symbol-value ',symbol)
|
||||
,expr-tmp))
|
||||
(error "already bound differently: ~S")))
|
||||
(t
|
||||
(defconstant ,symbol ,expr-tmp ,@(when doc `(,doc)))))))
|
||||
;; The #+SB-XC :COMPILE-TOPLEVEL situation is special, since we
|
||||
;; want to define the symbol not just in the cross-compilation
|
||||
;; host Lisp (which was handled above) but also in the
|
||||
|
|
@ -193,7 +197,7 @@
|
|||
;; instead. -- WHN 2000-11-03
|
||||
#+sb-xc
|
||||
(eval-when (:compile-toplevel)
|
||||
(let ((,expr-tmp ,expr))
|
||||
(let ((,expr-tmp ,symbol))
|
||||
(unless (and (eql (info :variable :kind ',symbol) :constant)
|
||||
(funcall ,eqx
|
||||
(info :variable :constant-value ',symbol)
|
||||
|
|
|
|||
|
|
@ -27,13 +27,7 @@
|
|||
(note (transform-note (car failure))))
|
||||
(cond
|
||||
((consp what)
|
||||
;; FIXME: This sometimes gets too long for a single line, e.g.
|
||||
;; "note: unable to optimize away possible call to FDEFINITION at runtime due to type uncertainty:"
|
||||
;; It would be nice to pretty-print it somehow, but how?
|
||||
;; ~@<..~:@> adds ~_ directives to the spaces which are in
|
||||
;; the format string, but a lot of the spaces where we'd want
|
||||
;; to break are in the included ~A string instead.
|
||||
(compiler-note "unable to ~A because:~%~6T~?"
|
||||
(compiler-note "~@<unable to ~2I~_~A ~I~_because: ~2I~_~?~:>"
|
||||
note (first what) (rest what)))
|
||||
((valid-function-use node what
|
||||
:argument-test #'types-intersect
|
||||
|
|
@ -45,10 +39,17 @@
|
|||
(valid-function-use node what
|
||||
:warning-function #'frob
|
||||
:error-function #'frob))
|
||||
|
||||
(compiler-note "unable to ~A due to type uncertainty:~@
|
||||
~{~6T~?~^~&~}"
|
||||
note (messages))))))))))
|
||||
(compiler-note "~@<unable to ~
|
||||
~2I~_~A ~
|
||||
~I~_due to type uncertainty: ~
|
||||
~2I~_~{~?~^~@:_~}~:>"
|
||||
note (messages))))
|
||||
;; As best I can guess, it's OK to fall off the end here
|
||||
;; because if it's not a VALID-FUNCTION-USE, the user
|
||||
;; doesn't want to hear about it. The things I caught when
|
||||
;; I put ERROR "internal error: unexpected FAILURE=~S" here
|
||||
;; didn't look like things we need to report. -- WHN 2001-02-07
|
||||
))))))
|
||||
|
||||
;;; For each named function with an XEP, note the definition of that
|
||||
;;; name, and add derived type information to the info environment. We
|
||||
|
|
|
|||
|
|
@ -79,3 +79,5 @@ for f in *.assertoids; do
|
|||
echo "(load \"$f\")" | $sbcl --eval '(load "assertoid.lisp")' ; tenfour
|
||||
fi
|
||||
done
|
||||
|
||||
echo '//apparent success (reached end of run-tests.sh normally)'
|
||||
|
|
|
|||
|
|
@ -15,4 +15,4 @@
|
|||
;;; versions, and a string like "0.6.5.12" is used for versions which
|
||||
;;; aren't released but correspond only to CVS tags or snapshots.
|
||||
|
||||
"0.6.10.10"
|
||||
"0.6.10.11"
|
||||
|
|
|
|||
Loading…
Reference in a new issue