the document said that -funsigned-bitfieldsDetermines whether the default bitfield type is changed tounsigned. but what is default bitfield type?
You may learn more on it by following http://gcc.gnu.org/onlinedocs/gcc/Structures-unions-enumerations-and-bit_002dfields-implementation.h...
The default bitfield type signed. Gcc manual gives more details below.
These options control whether a bit-field is signed or unsigned, when the declaration does not use either signed or unsigned. By default, such a bit-field is signed, because this is consistent: the basic integer types such as int are signed types.