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.8] C++ memory model bitfield handling rewrite


On Wed, Feb 8, 2012 at 3:14 AM, Richard Guenther <rguenther@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


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