// PR c++/61327 // { dg-do compile { target c++11 } } class B { protected: void f() {} }; template struct S; template struct S{ template static void caller(T *p) {p->B::f();} }; class Q : B{ template friend struct S; }; int main(){ Q q; S::caller(&q); return 0; }