It seems to me that struct A { ... signed char c: 32; ... }; should be treated like struct A { ... int i: 32; ... }; except that only the low 8 bits are significant. This should be true whether or not there is actually a 32-bit type on the target. Jason