Messages in this thread | | | Subject | Re: [PATCH v2 3/9] bitops: Introduce a more generic BITMASK macro | From | Joe Perches <> | Date | Thu, 17 Oct 2013 01:32:30 -0700 |
| |
On Thu, 2013-10-17 at 03:38 -0400, Chen Gong wrote: > the point is we can use GENMASK like GENMASK(end_bit, start_bit) but > we don't know the value of end_bit/start_bit at compile-time.
True.
The BUILD_BUG_ON idea is just to avoid people using GENMASK(1, 2) instead of GENMASK(2, 1)
#define GENMASK(h, l) \ ({ \ BUILD_BUG_ON(__builtin_constant_p(l) && \ __builtin_constant_p(h) && \ (l) > (h)); \ (((U32_C(1) << ((h) - (l) + 1)) - 1) << (l)); \ })
| |