X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Finterr.lisp;h=b230d79bb7434f8986d1d39bdd03b294e5cd1860;hb=7cca1cabd213d38218a40e973b06ca11c8546396;hp=60959dad505cc3c69f25f7df4f0dfe0ee9514bd0;hpb=2d3cb6dba6461e98744eca2a1df4f770cea468ca;p=sbcl.git diff --git a/src/code/interr.lisp b/src/code/interr.lisp index 60959da..b230d79 100644 --- a/src/code/interr.lisp +++ b/src/code/interr.lisp @@ -103,16 +103,6 @@ :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 @@ -128,6 +118,22 @@ :datum object :expected-type 'string)) +(deferr object-not-base-string-error (object) + (error 'type-error + :datum object + :expected-type 'base-string)) + +(deferr object-not-vector-nil-error (object) + (error 'type-error + :datum object + :expected-type '(vector nil))) + +#!+sb-unicode +(deferr object-not-character-string-error (object) + (error 'type-error + :datum object + :expected-type '(vector character))) + (deferr object-not-bit-vector-error (object) (error 'type-error :datum object @@ -195,10 +201,10 @@ (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 @@ -276,81 +282,23 @@ :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 @@ -508,5 +456,11 @@ "Control stack guard page temporarily disabled: proceed with caution~%") (error 'control-stack-exhausted)))) +(defun undefined-alien-variable-error () + (error 'undefined-alien-variable-error)) +(defun undefined-alien-function-error () + (error 'undefined-alien-function-error)) +(defun memory-fault-error () + (error 'memory-fault-error)) \ No newline at end of file