0.8.16.9:
[sbcl.git] / src / code / interr.lisp
index d32be0a..66f69f4 100644 (file)
         :datum object
         :expected-type 'simple-string))
 
-(deferr object-not-simple-bit-vector-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type 'simple-bit-vector))
-
-(deferr object-not-simple-vector-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type 'simple-vector))
-
 (deferr object-not-fixnum-error (object)
   (error 'type-error
         :datum object
         :datum object
         :expected-type 'string))
 
+(deferr object-not-base-string-error (object)
+  (error 'type-error
+        :datum object
+        :expected-type 'base-string))
+
 (deferr object-not-bit-vector-error (object)
   (error 'type-error
         :datum object
 (deferr unbound-symbol-error (symbol)
   (error 'unbound-variable :name symbol))
 
-(deferr object-not-base-char-error (object)
+(deferr object-not-character-error (object)
   (error 'type-error
         :datum object
-        :expected-type 'base-char))
+        :expected-type 'character))
 
 (deferr object-not-sap-error (object)
   (error 'type-error
 (deferr layout-invalid-error (object layout)
   (error 'layout-invalid
         :datum object
-        :expected-type (layout-class layout)))
+        :expected-type (layout-classoid layout)))
 
 (deferr odd-key-args-error ()
   (error 'simple-program-error
         :datum object
         :expected-type '(unsigned-byte 32)))
 
-(deferr object-not-simple-array-nil-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array nil (*))))
-
-(deferr object-not-simple-array-unsigned-byte-2-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (unsigned-byte 2) (*))))
-
-(deferr object-not-simple-array-unsigned-byte-4-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (unsigned-byte 4) (*))))
-
-(deferr object-not-simple-array-unsigned-byte-8-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (unsigned-byte 8) (*))))
-
-(deferr object-not-simple-array-unsigned-byte-16-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (unsigned-byte 16) (*))))
-
-(deferr object-not-simple-array-unsigned-byte-32-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (unsigned-byte 32) (*))))
-
-(deferr object-not-simple-array-signed-byte-8-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (signed-byte 8) (*))))
-
-(deferr object-not-simple-array-signed-byte-16-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (signed-byte 16) (*))))
-
-(deferr object-not-simple-array-signed-byte-30-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (signed-byte 30) (*))))
-
-(deferr object-not-simple-array-signed-byte-32-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (signed-byte 32) (*))))
-
-(deferr object-not-simple-array-single-float-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array single-float (*))))
-
-(deferr object-not-simple-array-double-float-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array double-float (*))))
-
-(deferr object-not-simple-array-complex-single-float-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (complex single-float) (*))))
-
-(deferr object-not-simple-array-complex-double-float-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (complex double-float) (*))))
-
-#!+long-float
-(deferr object-not-simple-array-complex-long-float-error (object)
-  (error 'type-error
-        :datum object
-        :expected-type '(simple-array (complex long-float) (*))))
+(macrolet
+    ((define-simple-array-internal-errors ()
+        `(progn
+          ,@(map 'list
+                 (lambda (saetp)
+                   `(deferr ,(symbolicate
+                              "OBJECT-NOT-"
+                              (sb!vm:saetp-primitive-type-name saetp)
+                              "-ERROR")
+                             (object)
+                     (error 'type-error
+                            :datum object
+                            :expected-type '(simple-array
+                                             ,(sb!vm:saetp-specifier saetp)
+                                             (*)))))
+                 sb!vm:*specialized-array-element-type-properties*))))
+  (define-simple-array-internal-errors))
 
 (deferr object-not-complex-error (object)
   (error 'type-error