1.0.41.26: ppc: Calling-convention fixes for static-fun VOPs.
[sbcl.git] / src / compiler / globaldb.lisp
index 50a425e..69c579c 100644 (file)
             #-no-ansi-print-object
             (:print-object (lambda (x s)
                              (print-unreadable-object (x s :type t)
-                               (prin1 (class-info-name x)))))
+                               (prin1 (class-info-name x) s))))
             (:copier nil))
   ;; name of this class
   (name nil :type keyword :read-only t)
 \f
 ;;;; generic interfaces
 
-;;; FIXME: used only in this file, needn't be in runtime
 (defmacro do-info ((env &key (name (gensym)) (class (gensym)) (type (gensym))
                         (type-number (gensym)) (value (gensym)) known-volatile)
                    &body body)
 
 (define-info-type
   :class :function
-  :type :documentation
-  :type-spec (or string null)
-  :default nil)
-
-(define-info-type
-  :class :function
   :type :definition
   :type-spec (or fdefn null)
   :default nil)
 (define-info-type
   :class :variable
   :type :kind
-  :type-spec (member :special :constant :macro :global :alien)
+  :type-spec (member :special :constant :macro :global :alien :unknown)
   :default (if (typep name '(or boolean keyword))
                :constant
-               :global))
+               :unknown))
+
+(define-info-type
+  :class :variable
+  :type :always-bound
+  :type-spec boolean
+  :default nil)
 
 ;;; the declared type for this variable
 (define-info-type
                        (when (info :type :kind name)
                          (error 'declaration-type-conflict-error
                                 :format-arguments (list name)))))
+(define-info-type
+  :class :declaration
+  :type :handler
+  :type-spec (or function null))
 
 (define-info-class :alien-type)
 (define-info-type