On Wed, Feb 8, 2012 at 3:14 AM, Richard Guenther <rguent...@suse.de> wrote: > On Tue, 7 Feb 2012, Jakub Jelinek wrote: > >> On Tue, Feb 07, 2012 at 04:01:31PM +0000, Jonathan Wakely wrote: >> > > What would it have said for -fabi-version=1 where for >> > > we place s.i and s.d into the same byte? >> > >> > I think it says they shouldn't be in the same byte :-) >> >> They don't, except for compatibility with the old ABI. >> I think easiest would be either to error out on -fabi-version=1 >> mixed with an explicit option to request C++11 memory model, >> or just ignore it (perhaps with a warning), people who care about the strict >> memory model requirements just shouldn't use -fabi-version=1. >> Using atomic modifications of the byte that has parts of the tail >> padding bits used by another class would be IMHO an overkill. > > I agree. The question is of course whether the C++ memory model > folks thought about this issue in case there is an ABI that requires > this tail-padding reuse (they could have, for example, declared > that s.i and s.d are in the same bitfield - that would have made > things easy).
I would think this is an implementation-defined issue (therefore GCC is required to document its choices.) -- Gaby