0.9.2.44:
[sbcl.git] / src / compiler / generic / interr.lisp
index f119356..fd992ab 100644 (file)
 ;;; functions as closures instead of DEFUNs?
 (eval-when (:compile-toplevel :execute)
   (def!macro define-internal-errors (&rest errors)
-            (let ((info (mapcar (lambda (x)
-                                  (if x
-                                      (cons (symbolicate (first x) "-ERROR")
-                                            (second x))
-                                      '(nil . "unused")))
-                                errors)))
-              `(progn
-                 (setf sb!c:*backend-internal-errors*
-                       ',(coerce info 'vector))
-                 nil))))
+             (let ((info (mapcar (lambda (x)
+                                   (cons (symbolicate (first x) "-ERROR")
+                                         (second x)))
+                                 errors)))
+               `(progn
+                  (setf sb!c:*backend-internal-errors*
+                        ',(coerce info 'vector))
+                  nil))))
 
 (define-internal-errors
   (unknown
    "Object is not of type LONG-FLOAT.")
   (object-not-simple-string
    "Object is not of type SIMPLE-STRING.")
-  (object-not-simple-bit-vector
-   "Object is not of type SIMPLE-BIT-VECTOR.")
-  (object-not-simple-vector
-   "Object is not of type SIMPLE-VECTOR.")
   (object-not-fixnum
    "Object is not of type FIXNUM.")
   (object-not-vector
    "Object is not of type VECTOR.")
   (object-not-string
    "Object is not of type STRING.")
+  (object-not-base-string
+   "Object is not of type BASE-STRING.")
+  (object-not-vector-nil
+   "Object is not of type (VECTOR NIL).")
+  #!+sb-unicode
+  (object-not-character-string
+   "Object is not of type (VECTOR CHARACTER).")
   (object-not-bit-vector
    "Object is not of type BIT-VECTOR.")
   (object-not-array
    "Object is not of type CONS.")
   (object-not-symbol
    "Object is not of type SYMBOL.")
-  (undefined-symbol
+  (undefined-fun
    ;; FIXME: Isn't this used for calls to unbound (SETF FOO) too? If so, revise
    ;; the name.
    "An attempt was made to use an undefined FDEFINITION.")
-  (object-not-coerceable-to-fun
-   "Object is not coerceable to type FUNCTION.")
-  (invalid-argument-count
+  (invalid-arg-count
    "invalid argument count")
-  (bogus-argument-to-values-list
+  (bogus-arg-to-values-list
    "bogus argument to VALUES-LIST")
   (unbound-symbol
    "An attempt was made to use an undefined SYMBOL-VALUE.")
-  ;; FIXME: We shouldn't need these placeholder NIL entries any more
-  ;; now that we pass our magic numbers cleanly through sbcl.h.
-  nil 
   (object-not-sap
    "Object is not a System Area Pointer (SAP).")
   (invalid-unwind
    "division by zero")
   (object-not-type
    "Object is of the wrong type.")
-  (odd-key-arguments
+  (odd-key-args
    "odd number of &KEY arguments")
-  (unknown-key-argument
+  (unknown-key-arg
    "unknown &KEY argument")
-  nil
-  nil
   (invalid-array-index
    "invalid array index")
   (wrong-number-of-indices
    "Object is not of type (SIGNED-BYTE 32).")
   (object-not-unsigned-byte-32
    "Object is not of type (UNSIGNED-BYTE 32).")
-  (object-not-simple-array-unsigned-byte-2
-   "Object is not of type (SIMPLE-ARRAY (UNSIGNED-BYTE 2) (*)).")
-  (object-not-simple-array-unsigned-byte-4
-   "Object is not of type (SIMPLE-ARRAY (UNSIGNED-BYTE 4) (*)).")
-  (object-not-simple-array-unsigned-byte-8
-   "Object is not of type (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)).")
-  (object-not-simple-array-unsigned-byte-16
-   "Object is not of type (SIMPLE-ARRAY (UNSIGNED-BYTE 16) (*)).")
-  (object-not-simple-array-unsigned-byte-32
-   "Object is not of type (SIMPLE-ARRAY (UNSIGNED-BYTE 32) (*)).")
-  (object-not-simple-array-signed-byte-8
-   "Object is not of type (SIMPLE-ARRAY (SIGNED-BYTE 8) (*)).")
-  (object-not-simple-array-signed-byte-16
-   "Object is not of type (SIMPLE-ARRAY (SIGNED-BYTE 16) (*)).")
-  (object-not-simple-array-signed-byte-30
-   "Object is not of type (SIMPLE-ARRAY FIXNUM (*)).")
-  (object-not-simple-array-signed-byte-32
-   "Object is not of type (SIMPLE-ARRAY (SIGNED-BYTE 32) (*)).")
-  (object-not-simple-array-single-float
-   "Object is not of type (SIMPLE-ARRAY SINGLE-FLOAT (*)).")
-  (object-not-simple-array-double-float
-   "Object is not of type (SIMPLE-ARRAY DOUBLE-FLOAT (*)).")
-  #!+long-float
-  (object-not-simple-array-long-float
-   "Object is not of type (SIMPLE-ARRAY LONG-FLOAT (*)).")
-  (object-not-simple-array-complex-single-float
-   "Object is not of type (SIMPLE-ARRAY (COMPLEX SINGLE-FLOAT) (*)).")
-  (object-not-simple-array-complex-double-float
-   "Object is not of type (SIMPLE-ARRAY (COMPLEX DOUBLE-FLOAT) (*)).")
-  #!+long-float
-  (object-not-simple-array-complex-long-float
-   "Object is not of type (SIMPLE-ARRAY (COMPLEX LONG-FLOAT) (*)).")
   (object-not-complex
    "Object is not of type COMPLEX.")
   (object-not-complex-rational
    "Object is not a WEAK-POINTER.")
   (object-not-instance
    "Object is not a INSTANCE.")
-  (object-not-base-char
-   "Object is not of type BASE-CHAR.")
+  (object-not-character
+   "Object is not a CHARACTER.")
   (nil-fun-returned
    "A function with declared result type NIL returned.")
+  (nil-array-accessed
+   "An array with element-type NIL was accessed.")
   (layout-invalid
    "Object layout is invalid. (indicates obsolete instance)")
   (object-not-complex-vector
-   "Object is not a complex (non-SIMPLE-ARRAY) vector."))
+   "Object is not a complex (non-SIMPLE-ARRAY) vector.")
+  .
+  #.(map 'list
+         (lambda (saetp)
+           (list
+            (symbolicate "OBJECT-NOT-" (sb!vm:saetp-primitive-type-name saetp))
+            (format nil "Object is not of type ~A."
+                    (specifier-type
+                     `(simple-array ,(sb!vm:saetp-specifier saetp) (*))))))
+         sb!vm:*specialized-array-element-type-properties*))
+