Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/abi/layout2.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// Red Hat bugzilla 65210 // { dg-do run } struct A { int a; }; struct B : public virtual A {}; struct C { long double c; }; struct D : public virtual C { int d; }; struct E : public B, public D { int e; }; E e; /* The layout of E should begin with the B-in-E vtable pointer, followed by the D-in-E vtable pointer. The bug was that we used to pad out the D fields for long double alignment. */ int main () { D* dp = &e; unsigned long d_offset = ((char*)dp) - ((char*) &e); return (d_offset != sizeof(void *)); }