1// { dg-do assemble } 2 3template <class T, class U> 4struct S { 5 template <class X, class Y, class Z> 6 friend X f(X, Y, Z); 7}; 8 9template class S<int, double>; 10template char f(char, long, short); 11template char* f(char*, long*, short*); 12 13template <class X, class Y, class Z> 14X f(X x, Y, Z) { 15 return x; 16} 17