1// { dg-do assemble  }
2
3template <class T> class a;
4
5template <class T> void foo( a<T>& thea );
6
7template <class T> class a {
8public:
9	friend void foo<>( a<T>& thea );
10private:
11	T amember;
12};
13
14template <class T> void foo( a<T>& thea )
15{
16	thea.amember = 0;
17}
18
19template class a<int>;
20
21