// PR c++/61327
// { dg-do compile { target c++11 } }
template<typename... T>
struct A;
template<typename T>
struct A<T>
{
  template<typename U>
  void f(U* u) {
    u->T::g();
  }
};
struct B {
protected:
  void g() { }
};
struct C : B {
  template<typename...> friend struct A;
};
int main()
{
  C c;
  A<B> a;
  a.f(&c);
}