// { dg-do assemble } // GROUPS passed templates class V { public: V(); V(int); }; template <int I> class AA: public virtual V { public: AA(); AA(int); }; template <int I> class BB : public virtual V { public: BB(); BB(int); }; template <int I> AA<I>::AA() {} template <int I> AA<I>::AA(int i): V(i) {} template <int I> BB<I>::BB() {} template <int I> BB<I>::BB(int i) {} class CC : public AA<1>, public BB<2> { public: CC(); CC(int); };