// { dg-do run { target i?86-*-* } } // { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } // { dg-options "-fabi-version=0 -w" } struct S { virtual void f() {} }; struct T : virtual public S { }; struct U : public S, virtual public T { char c[100]; }; struct V : public U, virtual public S {}; struct W : public V { int i; }; int main () { W w; if ((char*) &w.i - (char *) &w != 104) return 1; }