1// { dg-do link  }
2// Origin: Mark Mitchell <mark@codesourcery.com>
3
4template <class T>
5int f(T);
6
7template <class T>
8struct S {
9  template <class U>
10  friend int f(U) { return 0; }
11};
12
13int k = f(2);
14
15template <class T>
16int g(T);
17
18int h = g(7);
19
20template <class T>
21int g(T) {
22  S<T> si;
23  return 0;
24}
25
26int main()
27{
28}
29
30