[Bug c++/13614] zero size base class not zero size in complex inheritance

nathan at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Jan 8 19:07:00 GMT 2004


------- Additional Comments From nathan at gcc dot gnu dot org  2004-01-08 19:07 -------
gcc is correct
Class D
   size=5 align=1
   base size=5 base align=1
D (0x4027cb00) 0
  B1 (0x4027cb40) 0 empty
  B3 (0x4027cb80) 1

B3 cannot be placed at offset zero in D, as that would create two different
B1 objects (the direct base of D and the direct base of the first B2 object
in B3's array member) at the same address.  That would violate a C++ invariant.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13614



More information about the Gcc-bugs mailing list