0.8.19.30: less COMPILE-FILE verbosity
[sbcl.git] / src / compiler / generic / vm-type.lisp
index 6c9658e..85c1b0b 100644 (file)
   "Return the element type of the most specialized COMPLEX number type that
    can hold parts of type SPEC."
   (declare (ignore environment))
   "Return the element type of the most specialized COMPLEX number type that
    can hold parts of type SPEC."
   (declare (ignore environment))
-  (if (unknown-type-p (specifier-type spec))
-      (error "undefined type: ~S" spec)
-      (let ((ctype (specifier-type `(complex ,spec))))
-       (cond
-         ((eq ctype *empty-type*) '(eql 0))
-         ((csubtypep ctype (specifier-type '(complex single-float)))
-          'single-float)
-         ((csubtypep ctype (specifier-type '(complex double-float)))
-          'double-float)
-         #!+long-float
-         ((csubtypep ctype (specifier-type '(complex long-float)))
-          'long-float)
-         ((csubtypep ctype (specifier-type '(complex rational)))
-          'rational)
-         (t 'real)))))
+  (let ((type (specifier-type spec)))
+    (cond
+      ((eq type *empty-type*) nil)
+      ((unknown-type-p type) (error "undefined type: ~S" spec))
+      (t
+       (let ((ctype (specifier-type `(complex ,spec))))
+         (cond
+           ((eq ctype *empty-type*) '(eql 0))
+           ((csubtypep ctype (specifier-type '(complex single-float)))
+            'single-float)
+           ((csubtypep ctype (specifier-type '(complex double-float)))
+            'double-float)
+           #!+long-float
+           ((csubtypep ctype (specifier-type '(complex long-float)))
+            'long-float)
+           ((csubtypep ctype (specifier-type '(complex rational)))
+            'rational)
+           (t 'real)))))))
 
 ;;; Return the most specific integer type that can be quickly checked that
 ;;; includes the given type.
 
 ;;; Return the most specific integer type that can be quickly checked that
 ;;; includes the given type.