// { dg-do assemble } template struct B { template void f(T& t) { t = T(); } }; enum ptype { t1, t2}; struct D : public B { void g(double& d) { f(d); } }; D d;