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: cxx-abi-dev@xxxxxxxxxxxxxxxx
  • Subject: Re: [cxx-abi-dev] question on the virtual base offset
  • From: Dennis Handly <dhandly@xxxxxxxxxx>
  • Date: Tue, 31 Aug 2004 23:47:24 -0700 (PDT)

>From: Yan Liu <yanliu@xxxxxxxxxx>
>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