0.8alpha.0.8:
[sbcl.git] / src / compiler / proclaim.lisp
index 0a62a5c..a7d1ff7 100644 (file)
               (compiler-warn "ignoring unknown optimization quality ~
                                ~S in ~S"
                               quality spec))
-             ((not (and (typep raw-value 'real) (<= 0 raw-value 3)))
+             ((not (typep raw-value 'policy-quality))
               (compiler-warn "ignoring bad optimization value ~S in ~S"
                              raw-value spec))
              (t
-              (push (cons quality (rational raw-value))
+              (push (cons quality raw-value)
                     result)))))
     ;; Add any nonredundant entries from old POLICY.
     (dolist (old-entry policy)
        ;; when we have to ignore a PROCLAIM because the type system is
        ;; uninitialized.
        (when *type-system-initialized*
-        (let ((type (specifier-type (first args))))
-          (unless (csubtypep type (specifier-type 'function))
+        (let ((ctype (specifier-type (first args))))
+          (unless (csubtypep ctype (specifier-type 'function))
             (error "not a function type: ~S" (first args)))
           (dolist (name (rest args))
 
             #|
             (when (eq (info :function :where-from name) :declared)
               (let ((old-type (info :function :type name)))
-                (when (type/= type old-type)
+                (when (type/= ctype old-type)
                   (style-warn
                    "new FTYPE proclamation~@
                      ~S~@
                      for ~S does not match old FTYPE proclamation~@
                      ~S"
-                   (list type name old-type)))))
+                   (list ctype name old-type)))))
              |#
 
             ;; Now references to this function shouldn't be warned
             (note-name-defined name :function)
 
             ;; the actual type declaration
-            (setf (info :function :type name) type
+            (setf (info :function :type name) ctype
                   (info :function :where-from name) :declared)))))
       (freeze-type
        (dolist (type args)
         (let ((class (specifier-type type)))
-          (when (typep class 'sb!xc:class)
-            (setf (class-state class) :sealed)
-            (let ((subclasses (class-subclasses class)))
+          (when (typep class 'classoid)
+            (setf (classoid-state class) :sealed)
+            (let ((subclasses (classoid-subclasses class)))
               (when subclasses
                 (dohash (subclass layout subclasses)
                   (declare (ignore layout))
-                  (setf (class-state subclass) :sealed))))))))
+                  (setf (classoid-state subclass) :sealed))))))))
       (optimize
        (setq *policy* (process-optimize-decl form *policy*)))
       ((inline notinline maybe-inline)