This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch 4/4] -fstrict-volatile-bitfields cleanup v3: remove from defaults on all targets


On 06/30/2013 09:32 PM, DJ Delorie wrote:

Given how much trouble I went through to make it the default, I'd
rather not revert all that work...  especially since the flag is
*required* for proper operation of the hardware on many of these
targets.

This patch will, or course, silently and obscurely break existing
code.

My previous argument to this effect fell on deaf ears.

The sad truth is that strict volatile bitfields are already broken on ARM and other targets, and have been broken ever since the bit range support was added to support the new C/C++ memory model in gcc 4.7-ish. The current default behavior on ARM does not conform to either the ABI or the C/C++ model, so it's the worst of both worlds.

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.

-Sandra


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]