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