> The choice appears to be to continue to have broken volatile bitfields 
> on ARM with no way for users to make them conform to the ABI, or to 
> change things so that they conform to the ABI if you specify 
> -fstrict-volatile-bitfields explicitly and to the C/C++ standard by 
> default, without that option.

I can't speak for ARM, but for the other targets (for which I wrote
the original patch), the requirement is that volatile bitfield
accesses ALWAYS be in the mode of the type specified by the user.  If
the user says "int x:8;" then SImode (assuming 32-bit ints) must
always be used, even if QImode could be used.

The reason for this is that volatile bitfields are normally used for
memory-mapped peripherals, and accessing peripheral registers in the
wrong mode leads to incorrect operation.

Reply via email to