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

Mark Mitchell mark at codesourcery.com
Fri Nov 19 07:52:45 UTC 2004


Mark Mitchell wrote:
> Kerch Holt wrote:
> 
> The question raised here was how an unnamed bitfield should be handled 
> in a non-POD.  (In a POD, the C++ ABI is clear -- follow the rules of 
> the C ABI.)
> 
>> Since E only contains an "unnamed bitfield" which is not even considered
>> a member (see 9.6 P2) I think the nvalign(E) should be 1.
> 
> 
> Wow, I didn't realize an unnamed bitfield was not a member.
> 
>> 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.

Since there was no further commentary, I checked in the change attached.

-- 
Mark Mitchell
CodeSourcery, LLC
mark at codesourcery.com
(916) 791-8304
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diffs.txt
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20041118/67eaf87a/attachment.txt>


More information about the cxx-abi-dev mailing list