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