struct S1 {
unsigned int a : 1;
unsigned int b : 1;
};
struct S2 {
unsigned int a : 1, b : 1;
};
struct S3 {
unsigned int a;
unsigned int b : 1;
};
struct S4 {
unsigned int a, b : 1;
};
static_assert(sizeof(S1) == sizeof(S2), "Unexpected size");
static_assert(sizeof(S1) != sizeof(S3), "Unexpected size");
static_assert(sizeof(S2) != sizeof(S3), "Unexpected size");
static_assert(sizeof(S3) == sizeof(S4), "Unexpected size");
int main()
{
return 0;
}
c3RydWN0IFMxIHsKICAgIHVuc2lnbmVkIGludCBhIDogMTsKICAgIHVuc2lnbmVkIGludCBiIDogMTsKfTsKCnN0cnVjdCBTMiB7CiAgICB1bnNpZ25lZCBpbnQgYSA6IDEsIGIgOiAxOwp9OwoKc3RydWN0IFMzIHsKICAgIHVuc2lnbmVkIGludCBhOwogICAgdW5zaWduZWQgaW50IGIgOiAxOwp9OwoKc3RydWN0IFM0IHsKICAgIHVuc2lnbmVkIGludCBhLCBiIDogMTsKfTsKCnN0YXRpY19hc3NlcnQoc2l6ZW9mKFMxKSA9PSBzaXplb2YoUzIpLCAiVW5leHBlY3RlZCBzaXplIik7CnN0YXRpY19hc3NlcnQoc2l6ZW9mKFMxKSAhPSBzaXplb2YoUzMpLCAiVW5leHBlY3RlZCBzaXplIik7CnN0YXRpY19hc3NlcnQoc2l6ZW9mKFMyKSAhPSBzaXplb2YoUzMpLCAiVW5leHBlY3RlZCBzaXplIik7CnN0YXRpY19hc3NlcnQoc2l6ZW9mKFMzKSA9PSBzaXplb2YoUzQpLCAiVW5leHBlY3RlZCBzaXplIik7CgppbnQgbWFpbigpCnsKCXJldHVybiAwOwp9