// { dg-do assemble } template class A { public: int a; X x; }; template X f (A a) { return a.x; } extern A a_dbl; double fred () { return f (a_dbl); }