// PR c++/22263 // { dg-do link } template struct S { T foo (); T bar (); }; template T S::foo () { return bar (); } template struct S; template T S::bar () { return T (); } #if !__GXX_WEAK__ template int S::bar (); #endif int main () { return S().foo (); }