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

Dennis Handly dhandly at cup.hp.com
Tue Nov 9 07:23:38 UTC 2004


>From: Mark Mitchell <mark at codesourcery.com>
>> 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???



More information about the cxx-abi-dev mailing list