1// { dg-do assemble } 2// { dg-options "" } 3 4template <typename T> 5void f(T); 6template <> 7void f(int) {} 8 9struct B { 10 typedef int I; 11}; 12 13template <typename T> 14struct D1 : virtual public B { 15 typedef T I; 16}; 17 18 19template <typename T> 20struct D : virtual public B, public D1<T> 21{ 22 void g() 23 { 24 I i; 25 f(i); 26 } 27}; 28 29int 30main() 31{ 32 D<double> d; 33 d.g(); 34} 35 36