1// PR c++/22263
2// { dg-do link }
3
4template <class T> struct S { T foo (); T bar (); };
5template <class T> T S<T>::foo () { return bar (); }
6template struct S<int>;
7template <class T> T S<T>::bar () { return T (); }
8
9#if !__GXX_WEAK__
10template int S<int>::bar ();
11#endif
12
13int main () { return S<int>().foo (); }
14