;;; many branches there are going to be.
(defun ir1ize-the-or-values (type cont lexenv place)
(declare (type continuation cont) (type lexenv lexenv))
- (let* ((ctype (if (typep type 'ctype) type (values-specifier-type type)))
+ (let* ((ctype (if (typep type 'ctype) type (compiler-values-specifier-type type)))
(old-type (or (lexenv-find cont type-restrictions)
*wild-type*))
(intersects (values-types-equal-or-intersect old-type ctype))
- (int (values-type-intersection old-type ctype))
- (new (if intersects int old-type)))
+ (new (values-type-intersection old-type ctype)))
(when (null (find-uses cont))
(setf (continuation-asserted-type cont) new))
(when (and (not intersects)
(not (policy *lexenv*
(= inhibit-warnings 3)))) ;FIXME: really OK to suppress?
(compiler-warn
- "The type ~S ~A conflicts with an ~
- enclosing assertion:~% ~S"
+ "The type ~S ~A conflicts with an enclosing assertion:~% ~S"
(type-specifier ctype)
place
(type-specifier old-type)))
;;; this didn't seem to expand into an assertion, at least for ALIEN
;;; values. Check that SBCL doesn't have this problem.
(def-ir1-translator the ((type value) start cont)
- (with-continuation-type-assertion (cont (values-specifier-type type)
+ (with-continuation-type-assertion (cont (compiler-values-specifier-type type)
"in THE declaration")
(ir1-convert start cont value)))
(def-ir1-translator truly-the ((type value) start cont)
#!+sb-doc
(declare (inline member))
- (let ((type (values-specifier-type type))
+ (let ((type (compiler-values-specifier-type type))
(old (find-uses cont)))
(ir1-convert start cont value)
(do-uses (use cont)