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