Re: [PATCH] log2.h: Macro-ize is_power_of_2() for use in BUILD_BUG_ON

From: David Dillow
Date: Wed Jan 06 2010 - 17:00:21 EST


On Wed, 2010-01-06 at 12:44 -0800, Roland Dreier wrote:
> > Perhaps we can avoid worrying about that via
>
> > #define BUILD_BUG_ON_NOT_POWER_OF_2(n) \
> > BUILD_BUG_ON((n != 0 && ((n & (n - 1)) == 0)))
>
> Having something so specific to this particular case makes me feel like
> maybe it's just not worth it. At least in the case I'm looking at, we
> could just have:
>
> /*
> * The code relies on FOO being a power of 2. If you break this,
> * you're dumb.
> */
> #define FOO_SHIFT 6
> #define FOO (1 << FOO_SHIFT)
>
> Your thoughts?

I'm fine with that, but now I'll probably be the dumb one to break it
some day in the future.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/