gcc is perfectly correct, if you don't want padding space then your bitfields have to add up to the size of an integer.
Figured that out by now :-)
I thought it left paddings between my flags, but actually there are 12 unused bits at the end, and one uninitialized, because unused, but still hashed member adding troubles.