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