// { dg-do compile } // PR c++/71406 ICE with X::template Name template < typename T > struct C : T { void foo () { this->C::template bar <>; } }; template < typename T > struct A { template < void (T::*Fn) () > void f () {} }; template < typename T > struct B : A < B < T > > { void g () { this->B::template f < &B < T >::g > (); } }; void Foo () { B < int > b; b.g (); }