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