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

Dennis Handly dhandly at cup.hp.com
Wed Sep 1 06:47:24 UTC 2004


>From: Yan Liu <yanliu at ca.ibm.com>
>I found that g++ 3.3, 3.4 and 3.5 have different class layout for the
>following testcase:

>virtual base class E, the next available bits are at offset dsize(F)=11.  E
>should be put at offset(F) which is the dsize(F) =11, and the final class
>size should be 12. ... Is it means that ABI has changed or just a gcc bug?

It seems like a bug.  Both aCC5 and aCC6 get 12.  (32 bit mode)
sizeof A:  1
sizeof B:  8
sizeof C: 12
sizeof D:  1
sizeof E:  1
sizeof F: 12
offsetof F.B:   0
offsetof F.C:   0
offsetof F.D:   8
offsetof F.f1:  9
offsetof F.A:  10
offsetof F.E:  11



More information about the cxx-abi-dev mailing list