// { dg-do run } template class A { public: A (T at, V av); void print () { } protected: T t; V v; }; template A::A (T at, V av) { t = at; v = av; } template class B: public virtual A { public: B (T at, V av); void print () { } }; template B::B (T at, V av) : A (at, av) { } // { dg-bogus "" } int main () { int i = 2; double x = 2; B ab(i, x); ab.print(); return 0; }