1#define __packed __attribute__((packed)) 2 3typedef unsigned char u8; 4typedef __UINT16_TYPE__ u16; 5typedef __UINT32_TYPE__ u32; 6typedef __UINT64_TYPE__ u64; 7 8struct b { 9 u32 a:1; 10 u32 b:2; 11 u32 c:4; 12 u32 d:8; 13 u32 e:16; 14} __packed; 15_Static_assert(__alignof(struct b) == 1); 16_Static_assert( sizeof(struct b) == 4); 17 18struct c { 19 u8 a; 20 u8 b; 21 u64 c:48; 22} __packed; 23_Static_assert(__alignof(struct c) == 1); 24_Static_assert( sizeof(struct c) == 8); 25 26/* 27 * check-name: packed-bitfield3 28 */ 29