1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
// PR594 struct X { int Q :6; int A : 4; int Z : 22; }; void test(struct X *P, int A) { P->A = A; } int main() { union { int Y; struct X Z; } U; U.Y = ~0; test(&U.Z, 0); printf("%x\n", U.Y); return 0; }