X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefstruct.lisp;h=384aab06eaf06ca33d93df7cbb2d9eab12a8db8f;hb=d147d512602d761a2dcdfded506dd1a8f9a140dc;hp=4ac42bc41634969ab75a7675fb90e0573e5b5954;hpb=ce02ab2ecd9c6ae2e570abd8c93ebf3be55bbdad;p=sbcl.git diff --git a/src/code/defstruct.lisp b/src/code/defstruct.lisp index 4ac42bc..384aab0 100644 --- a/src/code/defstruct.lisp +++ b/src/code/defstruct.lisp @@ -248,11 +248,13 @@ (if (class-structure-p dd) (let ((inherits (inherits-for-structure dd))) `(progn + (/noshow0 "doing CLASS-STRUCTURE-P case for DEFSTRUCT " ,name) (eval-when (:compile-toplevel :load-toplevel :execute) (%compiler-only-defstruct ',dd ',inherits)) (%defstruct ',dd ',inherits) ,@(when (eq (dd-type dd) 'structure) `((%compiler-defstruct ',dd))) + (/noshow0 "starting not-for-the-xc-host section in DEFSTRUCT") ,@(unless expanding-into-code-for-xc-host-p (append (raw-accessor-definitions dd) (predicate-definitions dd) @@ -262,8 +264,10 @@ ;(copier-definition dd) (constructor-definitions dd) (class-method-definitions dd))) + (/noshow0 "done with DEFSTRUCT " ,name) ',name)) `(progn + (/show0 "doing NOT CLASS-STRUCTURE-P case for DEFSTRUCT " ,name) (eval-when (:compile-toplevel :load-toplevel :execute) (setf (info :typed-structure :info ',name) ',dd)) ,@(unless expanding-into-code-for-xc-host-p @@ -271,6 +275,7 @@ (typed-predicate-definitions dd) (typed-copier-definitions dd) (constructor-definitions dd))) + (/noshow0 "done with DEFSTRUCT " ,name) ',name))))) (sb!xc:defmacro defstruct (name-and-options &rest slot-descriptions) @@ -511,7 +516,7 @@ (eval-when (:compile-toplevel :load-toplevel :execute) (defun parse-name-and-options (name-and-options) (destructuring-bind (name &rest options) name-and-options - (assert name) ; A null name doesn't seem to make sense here. + (aver name) ; A null name doesn't seem to make sense here. (let ((defstruct (make-defstruct-description name))) (dolist (option options) (cond ((consp option)