// 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; | |
} |