// { dg-do run } template class D { public: int f(); }; template int D::f() { return sizeof(T); } template class DD,class EE> class C : DD { public: int f(); }; template class DD,class EE> int C::f() { return DD::f(); } class E : C { public: int f() { return C< ::D,int>::f(); } }; int main() { E c; c.f(); }