- (eval-when (:compile-toplevel :load-toplevel :execute)
- (define-type-method alien-type ((type ,name))
- (declare (ignore type))
- (alien-type 'flags))
- (define-type-method size-of ((type ,name) &key (inlined t))
- (assert-inlined type inlined)
- (size-of 'flags))
- (define-type-method to-alien-form ((type ,name) form &optional copy-p)
- (declare (ignore type copy-p))
- (list ',flags-int form))
- (define-type-method from-alien-form ((type ,name) form &key ref)
- (declare (ignore type ref))
- (list ',int-flags form))
- (define-type-method to-alien-function ((type ,name) &optional copy-p)
- (declare (ignore type copy-p))
- #',flags-int)
- (define-type-method from-alien-function ((type ,name) &key ref)
- (declare (ignore type ref))
- #',int-flags)
- (define-type-method writer-function ((type ,name) &key temp (inlined t))
- (declare (ignore temp))
- (assert-inlined type inlined)
- (let ((writer (writer-function 'signed)))
- #'(lambda (flags location &optional (offset 0))
- (funcall writer (,flags-int flags) location offset))))
- (define-type-method reader-function ((type ,name) &key ref (inlined t))
- (declare (ignore ref))
- (assert-inlined type inlined)
- (let ((reader (reader-function 'signed)))
- #'(lambda (location &optional (offset 0))
- (,int-flags (funcall reader location offset)))))))))
+ (define-type-method alien-type ((type ,name))
+ (declare (ignore type))
+ (alien-type 'flags))
+ (define-type-method size-of ((type ,name) &key (inlined t))
+ (assert-inlined type inlined)
+ (size-of 'flags))
+ (define-type-method type-alignment ((type ,name) &key (inlined t))
+ (assert-inlined type inlined)
+ (type-alignment 'flags))
+ (define-type-method to-alien-form ((type ,name) form &optional copy-p)
+ (declare (ignore type copy-p))
+ (list ',flags-int form))
+ (define-type-method from-alien-form ((type ,name) form &key ref)
+ (declare (ignore type ref))
+ (list ',int-flags form))
+ (define-type-method to-alien-function ((type ,name) &optional copy-p)
+ (declare (ignore type copy-p))
+ #',flags-int)
+ (define-type-method from-alien-function ((type ,name) &key ref)
+ (declare (ignore type ref))
+ #',int-flags)
+ (define-type-method writer-function ((type ,name) &key temp (inlined t))
+ (declare (ignore temp))
+ (assert-inlined type inlined)
+ (let ((writer (writer-function 'signed)))
+ #'(lambda (flags location &optional (offset 0))
+ (funcall writer (,flags-int flags) location offset))))
+ (define-type-method reader-function ((type ,name) &key ref (inlined t))
+ (declare (ignore ref))
+ (assert-inlined type inlined)
+ (let ((reader (reader-function 'signed)))
+ #'(lambda (location &optional (offset 0))
+ (,int-flags (funcall reader location offset))))))))