1// { dg-do link  }
2// GROUPS passed templates
3class ostream {};
4
5template <class T>
6class S;
7
8template <class T>
9void operator<<(ostream&, S<T>) {}
10
11template <class T>
12class S
13{
14  friend void operator<<<>(ostream&, const S<T>);
15};
16
17
18int main()
19{
20  ostream o;
21
22  o << S<int>();
23}
24