projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix unthreaded builds with sb-futex in target *features*
[sbcl.git]
/
src
/
code
/
early-type.lisp
diff --git
a/src/code/early-type.lisp
b/src/code/early-type.lisp
index
a4160a2
..
5b761c0
100644
(file)
--- a/
src/code/early-type.lisp
+++ b/
src/code/early-type.lisp
@@
-547,6
+547,10
@@
(cond
((and (not (eq spec u))
(info :type :builtin spec)))
(cond
((and (not (eq spec u))
(info :type :builtin spec)))
+ ((and (consp spec) (symbolp (car spec))
+ (info :type :builtin (car spec))
+ (let ((expander (info :type :expander (car spec))))
+ (and expander (values-specifier-type (funcall expander spec))))))
((eq (info :type :kind spec) :instance)
(find-classoid spec))
((typep spec 'classoid)
((eq (info :type :kind spec) :instance)
(find-classoid spec))
((typep spec 'classoid)
@@
-615,6
+619,9
@@
expansion happened."
(values nil nil))
((symbolp spec)
(values (info :type :expander spec) (list spec)))
(values nil nil))
((symbolp spec)
(values (info :type :expander spec) (list spec)))
+ ((and (consp spec) (symbolp (car spec)) (info :type :builtin (car spec)))
+ ;; see above
+ (values nil nil))
((and (consp spec) (symbolp (car spec)))
(values (info :type :expander (car spec)) spec))
(t nil)))
((and (consp spec) (symbolp (car spec)))
(values (info :type :expander (car spec)) spec))
(t nil)))
@@
-698,8
+705,7
@@
Experimental."
(defun %note-type-defined (name)
(declare (symbol name))
(note-name-defined name :type)
(defun %note-type-defined (name)
(declare (symbol name))
(note-name-defined name :type)
- (when (boundp 'sb!kernel::*values-specifier-type-cache-vector*)
- (values-specifier-type-cache-clear))
+ (values-specifier-type-cache-clear)
(values))
\f
(values))
\f