// { dg-do run } template class D { public: int f(); }; template int D::f() { return sizeof(T); } extern "C" void abort(); template class D,class E> class C { D d; public: int f() { abort(); return 0; } }; template class C { D d; public: int f(); }; template int C::f() { return d.f(); } int main() { C c; c.f(); }