| // { dg-do run } |
| // PRMS Id: 11420 |
| // Bug: Can't handle indirect virtual template base init. |
| |
| extern "C" int printf (const char *, ...); |
| |
| template<class T> |
| class Vbase { |
| public: |
| Vbase(T i) { printf ("%d\n", i); } |
| }; |
| |
| template<class T> |
| class D1 : virtual public Vbase<T> { |
| public: |
| D1(T i) : Vbase<T>(i) {} |
| }; |
| |
| template<class T> |
| class D2 : virtual public Vbase<T> { |
| public: |
| D2(T i) : Vbase<T>(i) {} |
| }; |
| |
| template<class T> |
| class Most : public D1<T>, public D2<T> { |
| public: |
| Most(T i) : D1<T>(i), D2<T>(i), Vbase<T>(i) {} |
| }; |
| |
| int main () { |
| Most<int> x(2); |
| return 0; |
| } |