https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82105
--- Comment #2 from Dudu <dudu.arbel at ilrd dot co.il> --- I don't think this is how bitfields works. In the following structs there are no padding between x an y typedef struct { unsigned int x:1; unsigned int y:1; unsigned short z; } XXX; nor in this case: typedef struct { unsigned int x:16; unsigned int y:16; unsigned short z; } XXX;