projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.13.41: Require robustness
[sbcl.git]
/
src
/
compiler
/
ir1util.lisp
diff --git
a/src/compiler/ir1util.lisp
b/src/compiler/ir1util.lisp
index
95f2e3f
..
7600eeb
100644
(file)
--- a/
src/compiler/ir1util.lisp
+++ b/
src/compiler/ir1util.lisp
@@
-494,6
+494,10
@@
(defun ctran-home-lambda (ctran)
(ctran-home-lambda-or-null ctran))
(defun ctran-home-lambda (ctran)
(ctran-home-lambda-or-null ctran))
+(declaim (inline cast-single-value-p))
+(defun cast-single-value-p (cast)
+ (not (values-type-p (cast-asserted-type cast))))
+
#!-sb-fluid (declaim (inline lvar-single-value-p))
(defun lvar-single-value-p (lvar)
(or (not lvar)
#!-sb-fluid (declaim (inline lvar-single-value-p))
(defun lvar-single-value-p (lvar)
(or (not lvar)
@@
-506,7
+510,7
@@
(cast
(locally
(declare (notinline lvar-single-value-p))
(cast
(locally
(declare (notinline lvar-single-value-p))
- (and (not (values-type-p (cast-asserted-type dest)))
+ (and (cast-single-value-p dest)
(lvar-single-value-p (node-lvar dest)))))
(t
t)))))
(lvar-single-value-p (node-lvar dest)))))
(t
t)))))
@@
-534,6
+538,9
@@
type-restrictions
(lambda (lexenv-lambda default))
(cleanup (lexenv-cleanup default))
type-restrictions
(lambda (lexenv-lambda default))
(cleanup (lexenv-cleanup default))
+ (handled-conditions (lexenv-handled-conditions default))
+ (disabled-package-locks
+ (lexenv-disabled-package-locks default))
(policy (lexenv-policy default)))
(macrolet ((frob (var slot)
`(let ((old (,slot default)))
(policy (lexenv-policy default)))
(macrolet ((frob (var slot)
`(let ((old (,slot default)))
@@
-546,7
+553,8
@@
(frob blocks lexenv-blocks)
(frob tags lexenv-tags)
(frob type-restrictions lexenv-type-restrictions)
(frob blocks lexenv-blocks)
(frob tags lexenv-tags)
(frob type-restrictions lexenv-type-restrictions)
- lambda cleanup policy)))
+ lambda cleanup handled-conditions
+ disabled-package-locks policy)))
;;; Makes a LEXENV, suitable for using in a MACROLET introduced
;;; macroexpander
;;; Makes a LEXENV, suitable for using in a MACROLET introduced
;;; macroexpander
@@
-575,6
+583,8
@@
(lexenv-type-restrictions lexenv) ; XXX
nil
nil
(lexenv-type-restrictions lexenv) ; XXX
nil
nil
+ (lexenv-handled-conditions lexenv)
+ (lexenv-disabled-package-locks lexenv)
(lexenv-policy lexenv))))
\f
;;;; flow/DFO/component hackery
(lexenv-policy lexenv))))
\f
;;;; flow/DFO/component hackery
@@
-1155,8
+1165,8
@@
;; There's no reason to accept this kind of equivocation
;; when compiling our own code, though.
#+sb-xc-host
;; There's no reason to accept this kind of equivocation
;; when compiling our own code, though.
#+sb-xc-host
- (compiler-warn "The variable ~S is defined but never used."
- (leaf-debug-name var)))
+ (warn "The variable ~S is defined but never used."
+ (leaf-debug-name var)))
(setf (leaf-ever-used var) t)))) ; to avoid repeated warnings? -- WHN
(values))
(setf (leaf-ever-used var) t)))) ; to avoid repeated warnings? -- WHN
(values))