// PR c++/51406 // { dg-do run { target c++11 } } extern "C" int printf(const char *,...); extern "C" void abort(); struct A { int a; A() : a(1) {} }; struct B { int b; B() : b(2) {} }; struct X : A, B {}; int main() { X x; int a=static_cast(x).a; int b=static_cast(x).b; // printf ("%d %d\n", a, b); if (a!=1 || b!=2) abort(); }