svn commit: r357614 - in head/sys: kern sys

Hans Petter Selasky hps at selasky.org
Thu Feb 6 16:43:31 UTC 2020


On 2020-02-06 13:45, Pawel Biernacki wrote:
> +#ifdef notyet
> +#define	SYSCTL_ENFORCE_FLAGS(x)						\
> +    _Static_assert(((CTLFLAG_MPSAFE ^ CTLFLAG_NEEDGIANT) & (x)),	\
> +        "Has to be either CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT")
> +#else
> +#define	SYSCTL_ENFORCE_FLAGS(x)
> +#endif

Like cem@ pointed out, either you expand the XOR via OR or you can also 
do it like this:

(((x) & CTLFLAG_MPSAFE) != 0) ^ (((x) & CTLFLAG_NEEDGIANT) != 0)

which avoids having to define another macro.

--HPS


More information about the svn-src-all mailing list