On Sun, Jul 29, 2018 at 01:17:14PM -0600, Jason Gunthorpe wrote: > On Sun, Jul 29, 2018 at 11:19:00AM +0300, Leon Romanovsky wrote: > > On Thu, Jul 26, 2018 at 04:37:14PM -0600, Jason Gunthorpe wrote: > > > > +/* > > > + * An input value that is a bitwise combination of values of _enum_type. > > > + * This permits the flag value to be passed as either a u32 or u64, it must > > > + * be retrieved via uverbs_get_flag(). > > > + */ > > > +#define UVERBS_ATTR_FLAGS_IN(_attr_id, _enum_type, ...) \ > > > + UVERBS_ATTR_PTR_IN( \ > > > + _attr_id, \ > > > > Why did you put BUILD_BUG_ON_ZERO into UVERBS_ATTR_SIZE? > > Wasn't it be better to write it like this? > > + BUILD_BUG_ON_ZERO(!sizeof(_enum_type *)); \ > > + UVERBS_ATTR_SIZE(sizeof(u32), sizeof(u64)), \ > > + __VA_ARGS__) > > That wouldn't compile, this macro expands within an expression > initializer context. > > The whole point of _ZERO is to use it exactly this way, in an > expression. > Thanks, Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature