Basic constructor macro for alignspec-alignas-ambig structures.
(make-alignspec-alignas-ambig [:type/arg <type/arg>])
This is the usual way to construct alignspec-alignas-ambig structures. It simply conses together a structure with the specified fields.
This macro generates a new alignspec-alignas-ambig structure from scratch. See also change-alignspec-alignas-ambig, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-alignspec-alignas-ambig (&rest args) (std::make-aggregate 'alignspec-alignas-ambig args '((:type/arg)) 'make-alignspec-alignas-ambig nil))
Function:
(defun alignspec-alignas-ambig (type/arg) (declare (xargs :guard (amb-expr/tyname-p type/arg))) (declare (xargs :guard t)) (let ((__function__ 'alignspec-alignas-ambig)) (declare (ignorable __function__)) (b* ((type/arg (mbe :logic (amb-expr/tyname-fix type/arg) :exec type/arg))) (cons :alignas-ambig (list type/arg)))))