112a9d9c8Sopenharmony_cistruct A { 212a9d9c8Sopenharmony_ci unsigned char x; 312a9d9c8Sopenharmony_ci unsigned b1 : 1; 412a9d9c8Sopenharmony_ci unsigned b2 : 1; 512a9d9c8Sopenharmony_ci unsigned b3 : 1; 612a9d9c8Sopenharmony_ci unsigned b4 : 1; 712a9d9c8Sopenharmony_ci unsigned b5 : 1; 812a9d9c8Sopenharmony_ci unsigned b6 : 1; 912a9d9c8Sopenharmony_ci unsigned b7 : 1; 1012a9d9c8Sopenharmony_ci unsigned b8 : 1; 1112a9d9c8Sopenharmony_ci unsigned b9 : 1; 1212a9d9c8Sopenharmony_ci unsigned b10 : 1; 1312a9d9c8Sopenharmony_ci unsigned char y; 1412a9d9c8Sopenharmony_ci}; 1512a9d9c8Sopenharmony_ci 1612a9d9c8Sopenharmony_cistruct B { 1712a9d9c8Sopenharmony_ci unsigned foo : 31; 1812a9d9c8Sopenharmony_ci unsigned char bar : 1; 1912a9d9c8Sopenharmony_ci}; 2012a9d9c8Sopenharmony_ci 2112a9d9c8Sopenharmony_cistruct C { 2212a9d9c8Sopenharmony_ci unsigned char x; 2312a9d9c8Sopenharmony_ci unsigned b1 : 1; 2412a9d9c8Sopenharmony_ci unsigned b2 : 1; 2512a9d9c8Sopenharmony_ci unsigned baz; 2612a9d9c8Sopenharmony_ci}; 2712a9d9c8Sopenharmony_ci 2812a9d9c8Sopenharmony_cistruct Date1 { 2912a9d9c8Sopenharmony_ci unsigned short nWeekDay : 3; // 0..7 (3 bits) 3012a9d9c8Sopenharmony_ci unsigned short nMonthDay : 6; // 0..31 (6 bits) 3112a9d9c8Sopenharmony_ci unsigned short nMonth : 5; // 0..12 (5 bits) 3212a9d9c8Sopenharmony_ci unsigned short nYear : 8; // 0..100 (8 bits) 3312a9d9c8Sopenharmony_ci}; 3412a9d9c8Sopenharmony_ci 3512a9d9c8Sopenharmony_cistruct Date2 { 3612a9d9c8Sopenharmony_ci unsigned short nWeekDay : 3; // 0..7 (3 bits) 3712a9d9c8Sopenharmony_ci unsigned short nMonthDay : 6; // 0..31 (6 bits) 3812a9d9c8Sopenharmony_ci unsigned short nMonth : 5; // 0..12 (5 bits) 3912a9d9c8Sopenharmony_ci unsigned short nYear : 8; // 0..100 (8 bits) 4012a9d9c8Sopenharmony_ci unsigned char byte : 8; 4112a9d9c8Sopenharmony_ci}; 4212a9d9c8Sopenharmony_ci 4312a9d9c8Sopenharmony_cistruct Date3 { 4412a9d9c8Sopenharmony_ci unsigned short nWeekDay : 3; // 0..7 (3 bits) 4512a9d9c8Sopenharmony_ci unsigned short nMonthDay : 6; // 0..31 (6 bits) 4612a9d9c8Sopenharmony_ci unsigned short nMonth : 5; // 0..12 (5 bits) 4712a9d9c8Sopenharmony_ci unsigned short nYear : 8; // 0..100 (8 bits) 4812a9d9c8Sopenharmony_ci unsigned char byte; 4912a9d9c8Sopenharmony_ci}; 50