// PR c++/80831 // { dg-options -fsyntax-only } // { dg-do compile { target c++11 } } class A { public: virtual ~A() { } }; class B { }; class C : public A { }; template class D : public C { public: D() { } ~D() { } }; class E { public: static E& p(); B q(); template B q(void (J::*r)()) { new D(); return q(); } }; void t() { class F { public: virtual void s() { } }; E& x = E::p(); B y = x.q(&F::s); }