On 02/20/2012 06:39 PM, Richard Earnshaw wrote: > I'm not sure why it should be. Can't a user write > > #ifdef __cplusplus > #define BOOL bool > #else > #define bool _Bool > #endif > > struct x { > volatile BOOL a : 1; > volatile BOOL b : 1; > volatile unsigned char c : 6; > volatile BOOL d : 1; > } y; > > ? > > If you've got strict volatile bitfields, then the concept here is that > the access uses the declared type for accessing the member. Since in > the ABI bool has a defined size, then it should access the member using > that size. > > On ARM, sizeof bool is 1, so I'd take the above to mean that accessing > y.a to mean a read of a, b and c, but not d.
What are your thoughts on the argument about enums? Bernd