Actions

icon Post
text/html Subscribe
text/html Unsubscribe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [cxx-abi-dev] question on the virtual base offset


  • To: kerch@xxxxxxxxxx
  • Subject: Re: [cxx-abi-dev] question on the virtual base offset
  • From: Dennis Handly <dhandly@xxxxxxxxxx>
  • Date: Mon, 8 Nov 2004 23:23:38 -0800 (PST)

>From: Mark Mitchell <mark@xxxxxxxxxxxxxxxx>
>> Does this need extra wording in the ABI to deal with the special case
>> of unnamed bitfields? Perhaps alter 2.4 II 1. to say:
>>     If D is not an unnamed bitfield
>>         update align(C) to max(align(C),align(T))

>I think the right thing to do is to handle unnamed bitfields as they 
>would be handled in the underlying C ABI.  In some C ABIs, that results 
>in an update to the alignment; in other C ABIs it does not.

I think Kerch is saying that neither g++ 3.4 nor aC++ look at those
unnamed bit fields and it's too late now.  In fact he said that 3.5
looked at them and then somehow this change was backed out as a bad idea?

>1) Revise the first paragraph of 2.4 II to say:
>"then the non-static data members (including unnamed bitfields, although 
>they are not members in ISO C++) in declaration order"

And this wouldn't match.

>3) Update 2.4.II.1.a to read:
>Update align(C) to max (align(C), align(T))."
Mark Mitchell

I believe this is what we don't want if T is an unnamed bit field.
Hmm, I think the original bit field was named???