* Alexander Kuleshov <kuleshovm...@gmail.com> wrote: > The arch/x86/include/asm/bitops.h provides IS_IMMEDIATE macro which expands to > the call of the __builtin_constant_p(). Let's use this macro in the test_bit() > to be more clear. > > Signed-off-by: Alexander Kuleshov <kuleshovm...@gmail.com> > --- > arch/x86/include/asm/bitops.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/bitops.h b/arch/x86/include/asm/bitops.h > index cfe3b95..8cfbd2b 100644 > --- a/arch/x86/include/asm/bitops.h > +++ b/arch/x86/include/asm/bitops.h > @@ -333,7 +333,7 @@ static int test_bit(int nr, const volatile unsigned long > *addr); > #endif > > #define test_bit(nr, addr) \ > - (__builtin_constant_p((nr)) \ > + (IS_IMMEDIATE((nr)) \ > ? constant_test_bit((nr), (addr)) \ > : variable_test_bit((nr), (addr)))
Why? In the kernel there's more than 200 uses of __builtin_constant_p(), while only 6 uses of IS_IMMEDIATE() ... Thanks, Ingo