Re: [PATCH spi-next v2 03/11] spi: spi-fsl-lpspi: fsl_lpspi_probe(): use FIELD_GET to decode Parameter register and add size check

From: kernel test robot

Date: Fri Mar 20 2026 - 05:25:43 EST


Hi Marc,

kernel test robot noticed the following build errors:

[auto build test ERROR on b876ebf2c06042f78b2c9c47c53ffe54c7e480a2]

url: https://github.com/intel-lab-lkp/linux/commits/Marc-Kleine-Budde/spi-spi-fsl-lpspi-adapt-to-kernel-coding-style/20260320-022127
base: b876ebf2c06042f78b2c9c47c53ffe54c7e480a2
patch link: https://lore.kernel.org/r/20260319-spi-fsl-lpspi-cleanups-v2-3-02b56c5d44a8%40pengutronix.de
patch subject: [PATCH spi-next v2 03/11] spi: spi-fsl-lpspi: fsl_lpspi_probe(): use FIELD_GET to decode Parameter register and add size check
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20260320/202603201743.2jFWu8hL-lkp@xxxxxxxxx/config)
compiler: arc-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260320/202603201743.2jFWu8hL-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603201743.2jFWu8hL-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from <command-line>:
drivers/spi/spi-fsl-lpspi.c: In function 'fsl_lpspi_probe':
>> include/linux/compiler_types.h:706:45: error: call to '__compiletime_assert_467' declared with attribute error: min((( __builtin_constant_p(({ ({ ({ do { __attribute__((__noreturn__)) extern void __compiletime_assert_460(void) __attribute__((__error__("FIELD_MAX: " "mask is not constant"))); if (!(!(!__builtin_constant_p(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))))) __compiletime_assert_460(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_461(void) __attribute__((__error__("FIELD_MAX: " "mask is zero"))); if (!(!((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) == 0))) __compiletime_assert_461(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_462(void) __attribute__((__error__("FIELD_MAX: " "value too large for the field"))); if (!(!(__builtin_constant_p(0ULL) ? ~((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)) & (0 + (0ULL)) : 0))) __compiletime_assert_462(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_463(void) __attribute__((__error__("BUILD_BUG_ON failed: " "(((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0"))); if (!(!((((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0))) __compiletime_assert_463(); } while (0); }); do { __attribute__((__noreturn__)) extern void __compiletime_assert_464(void) __attribute__((__error__("FIELD_MAX: " "type of reg too small for mask"))); if (!(!(((typeof( _Generic((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))))(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))) > ((typeof( _Generic((0ULL), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (0ULL))))(~0ull))))) __compiletime_assert_464(); } while (0); }); (typeof(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)); }) + 1) ? ((({ ({ ({ do { __attribute__((__noreturn__)) extern void __compiletime_assert_460(void) __attribute__((__error__("FIELD_MAX: " "mask is not constant"))); if (!(!(!__builtin_constant_p(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))))) __compiletime_assert_460(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_461(void) __attribute__((__error__("FIELD_MAX: " "mask is zero"))); if (!(!((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) == 0))) __compiletime_assert_461(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_462(void) __attribute__((__error__("FIELD_MAX: " "value too large for the field"))); if (!(!(__builtin_constant_p(0ULL) ? ~((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)) & (0 + (0ULL)) : 0))) __compiletime_assert_462(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_463(void) __attribute__((__error__("BUILD_BUG_ON failed: " "(((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0"))); if (!(!((((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0))) __compiletime_assert_463(); } while (0); }); do { __attribute__((__noreturn__)) extern void __compiletime_assert_464(void) __attribute__((__error__("FIELD_MAX: " "type of reg too small for mask"))); if (!(!(((typeof( _Generic((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))))(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))) > ((typeof( _Generic((0ULL), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (0ULL))))(~0ull))))) __compiletime_assert_464(); } while (0); }); (typeof(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)); }) + 1) < 2 ? 0 : 63 - __builtin_clzll(({ ({ ({ do { __attribute__((__noreturn__)) extern void __compiletime_assert_460(void) __attribute__((__error__("FIELD_MAX: " "mask is not constant"))); if (!(!(!__builtin_constant_p(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))))) __compiletime_assert_460(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_461(void) __attribute__((__error__("FIELD_MAX: " "mask is zero"))); if (!(!((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) == 0))) __compiletime_assert_461(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_462(void) __attribute__((__error__("FIELD_MAX: " "value too large for the field"))); if (!(!(__builtin_constant_p(0ULL) ? ~((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)) & (0 + (0ULL)) : 0))) __compiletime_assert_462(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_463(void) __attribute__((__error__("BUILD_BUG_ON failed: " "(((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0"))); if (!(!((((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0))) __compiletime_assert_463(); } while (0); }); do { __attribute__((__noreturn__)) extern void __compiletime_assert_464(void) __attribute__((__error__("FIELD_MAX: " "type of reg too small for mask"))); if (!(!(((typeof( _Generic((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))))(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))) > ((typeof( _Generic((0ULL), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (0ULL))))(~0ull))))) __compiletime_assert_464(); } while (0); }); (typeof(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)); }) + 1)) : (sizeof(({ ({ ({ do { __attribute__((__noreturn__)) extern void __compiletime_assert_460(void) __attribute__((__error__("FIELD_MAX: " "mask is not constant"))); if (!(!(!__builtin_constant_p(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))))) __compiletime_assert_460(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_461(void) __attribute__((__error__("FIELD_MAX: " "mask is zero"))); if (!(!((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) == 0))) __compiletime_assert_461(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_462(void) __attribute__((__error__("FIELD_MAX: " "value too large for the field"))); if (!(!(__builtin_constant_p(0ULL) ? ~((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)) & (0 + (0ULL)) : 0))) __compiletime_assert_462(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_463(void) __attribute__((__error__("BUILD_BUG_ON failed: " "(((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0"))); if (!(!((((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0))) __compiletime_assert_463(); } while (0); }); do { __attribute__((__noreturn__)) extern void __compiletime_assert_464(void) __attribute__((__error__("FIELD_MAX: " "type of reg too small for mask"))); if (!(!(((typeof( _Generic((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))))(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))) > ((typeof( _Generic((0ULL), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (0ULL))))(~0ull))))) __compiletime_assert_464(); } while (0); }); (typeof(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)); }) + 1) <= 4) ? __ilog2_u32(({ ({ ({ do { __attribute__((__noreturn__)) extern void __compiletime_assert_460(void) __attribute__((__error__("FIELD_MAX: " "mask is not constant"))); if (!(!(!__builtin_constant_p(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))))) __compiletime_assert_460(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_461(void) __attribute__((__error__("FIELD_MAX: " "mask is zero"))); if (!(!((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) == 0))) __compiletime_assert_461(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_462(void) __attribute__((__error__("FIELD_MAX: " "value too large for the field"))); if (!(!(__builtin_constant_p(0ULL) ? ~((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)) & (0 + (0ULL)) : 0))) __compiletime_assert_462(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_463(void) __attribute__((__error__("BUILD_BUG_ON failed: " "(((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0"))); if (!(!((((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0))) __compiletime_assert_463(); } while (0); }); do { __attribute__((__noreturn__)) extern void __compiletime_assert_464(void) __attribute__((__error__("FIELD_MAX: " "type of reg too small for mask"))); if (!(!(((typeof( _Generic((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))))(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))) > ((typeof( _Generic((0ULL), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (0ULL))))(~0ull))))) __compiletime_assert_464(); } while (0); }); (typeof(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)); }) + 1) : __ilog2_u64(({ ({ ({ do { __attribute__((__noreturn__)) extern void __compiletime_assert_460(void) __attribute__((__error__("FIELD_MAX: " "mask is not constant"))); if (!(!(!__builtin_constant_p(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))))) __compiletime_assert_460(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_461(void) __attribute__((__error__("FIELD_MAX: " "mask is zero"))); if (!(!((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) == 0))) __compiletime_assert_461(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_462(void) __attribute__((__error__("FIELD_MAX: " "value too large for the field"))); if (!(!(__builtin_constant_p(0ULL) ? ~((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)) & (0 + (0ULL)) : 0))) __compiletime_assert_462(); } while (0); do { __attribute__((__noreturn__)) extern void __compiletime_assert_463(void) __attribute__((__error__("BUILD_BUG_ON failed: " "(((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), \"const_true((0) > (2))\" \" is true\");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0"))); if (!(!((((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) & (((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) + (1ULL << (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1))) - 1)) != 0))) __compiletime_assert_463(); } while (0); }); do { __attribute__((__noreturn__)) extern void __compiletime_assert_464(void) __attribute__((__error__("FIELD_MAX: " "type of reg too small for mask"))); if (!(!(((typeof( _Generic((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))))(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2))))))) > ((typeof( _Generic((0ULL), char: (unsigned char)0, unsigned char: (unsigned char)0, signed char: (unsigned char)0, unsigned short: (unsigned short)0, signed short: (unsigned short)0, unsigned int: (unsigned int)0, signed int: (unsigned int)0, unsigned long: (unsigned long)0, signed long: (unsigned long)0, unsigned long long: (unsigned long long)0, signed long long: (unsigned long long)0, default: (0ULL))))(~0ull))))) __compiletime_assert_464(); } while (0); }); (typeof(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))))((((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) >> (__builtin_ffsll(((unsigned long)(((int)sizeof(struct {_Static_assert(!(__builtin_choose_expr((sizeof(int) == sizeof(*(8 ? ((void *)((long)((0) > (2)) * 0l)) : (int *)8))), (0) > (2), false)), "const_true((0) > (2))" " is true");})) + (((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) << (0) & ((typeof(unsigned long))((((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))) - 1) + ((typeof(unsigned long))1 << (8*sizeof(typeof(unsigned long)) - 1 - (((typeof(unsigned long))(-1)) < ( typeof(unsigned long))1))))) >> ((sizeof(unsigned long) * 8) - 1 - (2)))))) - 1)); }) + 1) )), txfifo_order) signedness error
706 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:687:25: note: in definition of macro '__compiletime_assert'
687 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:706:9: note: in expansion of macro '_compiletime_assert'
706 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/minmax.h:93:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
93 | BUILD_BUG_ON_MSG(!__types_ok(ux, uy), \
| ^~~~~~~~~~~~~~~~
include/linux/minmax.h:98:9: note: in expansion of macro '__careful_cmp_once'
98 | __careful_cmp_once(op, x, y, __UNIQUE_ID(x_), __UNIQUE_ID(y_))
| ^~~~~~~~~~~~~~~~~~
include/linux/minmax.h:105:25: note: in expansion of macro '__careful_cmp'
105 | #define min(x, y) __careful_cmp(min, x, y)
| ^~~~~~~~~~~~~
drivers/spi/spi-fsl-lpspi.c:997:32: note: in expansion of macro 'min'
997 | txfifo_order = min(TXFIFO_ORDER_MAX, txfifo_order);
| ^~~


vim +706 include/linux/compiler_types.h

eb5c2d4b45e3d2d Will Deacon 2020-07-21 692
eb5c2d4b45e3d2d Will Deacon 2020-07-21 693 #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2d Will Deacon 2020-07-21 694 __compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2d Will Deacon 2020-07-21 695
eb5c2d4b45e3d2d Will Deacon 2020-07-21 696 /**
eb5c2d4b45e3d2d Will Deacon 2020-07-21 697 * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2d Will Deacon 2020-07-21 698 * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2d Will Deacon 2020-07-21 699 * @msg: a message to emit if condition is false
eb5c2d4b45e3d2d Will Deacon 2020-07-21 700 *
eb5c2d4b45e3d2d Will Deacon 2020-07-21 701 * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2d Will Deacon 2020-07-21 702 * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2d Will Deacon 2020-07-21 703 * compiler has support to do so.
eb5c2d4b45e3d2d Will Deacon 2020-07-21 704 */
eb5c2d4b45e3d2d Will Deacon 2020-07-21 705 #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2d Will Deacon 2020-07-21 @706 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2d Will Deacon 2020-07-21 707

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki