#define P00_DOCUMENT_TYPE_ARGUMENT(MACRO, N) /*! @remark argument N of MACRO should correspond to a type */
#define P00_DOCUMENT_TYPE_ARGUMENT(MACRO, N) /*! @remark argument N of MACRO should correspond to a type that is not a VLA. */
#define P00_DOCUMENT_MULTIPLE_ARGUMENT(MACRO, N) /*! @warning argument N of MACRO may be evaluated multiple times */
#define P00_DOCUMENT_PERMITTED_ARGUMENT(MACRO, N)
#define P00_DOCUMENT_STATEMENT_ARGUMENT(MACRO, N)
#define P00_DOCUMENT_WARN_VLA_ARGUMENT(MACRO, N) /*! @warning argument N of MACRO may be evaluated multiple times if it is a VLA */
#define P00_DOCUMENT_IDENTIFIER_ARGUMENT(MACRO, N) /*! @remark argument N of MACRO must be an identifier */
#define P00_DOCUMENT_PERMITTED_ARGUMENT(MACRO, N) /*! @remark argument N of MACRO maybe evaluated several times for its type but only once for its value */
#define P00_DOCUMENT_STATEMENT_ARGUMENT(MACRO, N) /*! @remark argument N of MACRO is a statement that will be emitted multiple times in the resulting macro expansion */