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

Konstantin Belousov kostikbel at gmail.com
Thu Feb 6 21:10:27 UTC 2020


On Thu, Feb 06, 2020 at 05:41:52PM +0100, Hans Petter Selasky wrote:
> 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)
The intent was to do exactly this, xor the bools.

> 
> which avoids having to define another macro.
> 
> --HPS


More information about the svn-src-head mailing list