On Mon, Aug 27, 2012 at 1:48 PM, <[email protected]> wrote:
> I'm doing some checking of data structure layouts in different releases of
> our code -- which were produced by different releases of GCC (3.3.3 vs.
> 4.5.4).
>
> One difference I'm seeing that is puzzling is in the handling of base
> classes. Specifically, the case where a base class has padding at the end to
> fill it out to a multiple of the alignment.
>
> In GCC 3.3.3, when such a class is used as a base class, that padding is
> omitted, and the first derived class data member starts right after the last
> base class real (not pad) data member. In GCC 4.5.4, the base class is used
> padding and all, the first derived class data member starts after the padding
> of the base class.
>
> Which is correct? Or are both correct? This sort of thing is a potential
> cause of trouble if such a class is used as a container for persistent data.
>
> paul
>
Is this message
http://gcc.gnu.org/ml/gcc/2002-08/msg00874.html
relevant to your case?
-- Gaby