https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-01-04 CC| |msebor at gcc dot gnu.org Known to work| |5.1.0 Summary|Member function pointer |[6.0 regression] Member |template flagged with 'is |function pointer template |not a function template' |flagged with 'is not a | |function template' Ever confirmed|0 |1 Known to fail| |6.0 --- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed. The following simplified test case also reproduces the error with today's top of trunk. 5.1.0 compiles the test case successfully so this is a regression. $ cat u.cpp && /home/msebor/build/gcc-trunk-svn/gcc/xg++ -B/home/msebor/build/gcc-trunk-svn/gcc -S -Wall -Wextra -o/dev/null -std=c++14 u.cpp struct A { template <int> static void (*pf)(); }; template <int> void foo () { (void)A::pf<true>; } void bar () { foo<0>(); } u.cpp: In instantiation of ‘void foo() [with int <anonymous> = 0]’: u.cpp:13:10: required from here u.cpp:9:9: error: ‘template<int <anonymous> > void (* A::pf)()<<anonymous> >’ is not a function template (void)A::pf<true>; ^ u.cpp:9:9: error: ‘pf<true>’ is not a member of ‘A’