1 // PRMS Id: 11420
2 // Bug: Can't handle indirect virtual template base init.
3 
4 extern "C" int printf (const char *, ...);
5 
6 template<class T>
7 class Vbase {
8  public:
Vbase(T i)9   Vbase(T i) { printf ("%d\n", i); }
10 };
11 
12 template<class T>
13 class D1 : virtual public Vbase<T> {
14  public:
D1(T i)15   D1(T i) : Vbase<T>(i) {}
16 };
17 
18 template<class T>
19 class D2 : virtual public Vbase<T> {
20  public:
D2(T i)21   D2(T i) : Vbase<T>(i) {}
22 };
23 
24 template<class T>
25 class Most : public D1<T>, public D2<T> {
26  public:
Most(T i)27   Most(T i) : D1<T>(i), D2<T>(i), Vbase<T>(i) {}
28 };
29 
main()30 int main () {
31   Most<int> x(2);
32   return 0;
33 }
34