https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85301
--- Comment #6 from Arnd Bergmann <arnd at linaro dot org> --- I found that older versions (gcc-5 and before) did not warn when the type gets changed to bitfield of '_Bool' rather than 'unsigned int'. It seems that this was only because they tested each bit separately in the _Bool case rather than combining the first two comparisons into a &3 mask.