1// { dg-do link  }
2// { dg-options "-g" }
3
4template <class P1>
5struct S1
6{
7  struct SS1
8  {
9  };
10  friend void Foo (const SS1& ss1)
11    {
12    }
13};
14
15template <class P1>
16void Foo(const S1<P1>& s1)
17{
18  typedef typename S1<P1>::SS1 TYPE;
19  TYPE t;
20  Foo(t);
21}
22
23int main ()
24{
25  S1<double> obj;
26  Foo(obj);
27}
28
29