(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp0x/
friend5.C
// PR c++/61327
// { dg-do compile { target c++11 } }

class B {
protected:
  void f() {}
};

template <typename...>
struct S;

template <typename R>
struct S<R>{
    template <typename T>
    static void caller(T *p) {p->B::f();}
};

class Q : B{
template <typename...> friend struct S;
};

int main(){
    Q q;
    S<int>::caller(&q);
    return 0;
}