// { dg-do run } // Check that template classes handle inherited virtual bases // properly, initializing them before direct non-virtual bases. extern "C" void exit (int); int aflag; struct A { A() { aflag = 1; } }; struct B : virtual public A { B() { } }; struct C { C() { if (!aflag) exit (1); } }; template struct D : public C, public Parent { D() { } }; int main () { D c; }