// { dg-do assemble } | |
// { dg-options "" } | |
template <typename T> | |
void f(T); | |
template <> | |
void f(int) {} | |
struct B { | |
typedef int I; | |
}; | |
template <typename T> | |
struct D1 : virtual public B { | |
typedef T I; | |
}; | |
template <typename T> | |
struct D : virtual public B, public D1<T> | |
{ | |
void g() | |
{ | |
I i; | |
f(i); | |
} | |
}; | |
int | |
main() | |
{ | |
D<double> d; | |
d.g(); | |
} | |