1// { dg-do assemble } 2// GROUPS passed templates 3class V { 4 public: 5 V(); 6 V(int); 7 }; 8 9template <int I> class AA: public virtual V { 10 public: 11 AA(); 12 AA(int); 13 }; 14 15template <int I> class BB : public virtual V { 16 public: 17 BB(); 18 BB(int); 19 }; 20 21template <int I> AA<I>::AA() {} 22template <int I> AA<I>::AA(int i): V(i) {} 23template <int I> BB<I>::BB() {} 24template <int I> BB<I>::BB(int i) {} 25 26class CC : public AA<1>, public BB<2> { 27 public: 28 CC(); 29 CC(int); 30 }; 31 32