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