| // { 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(); | |
| } | |