[Bug c++/69098] [6.0 regression] Member function pointer template flagged with 'is not a function template'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098 Patrick Palka changed: What|Removed |Added CC||ppalka at gcc dot gnu.org --- Comment #4 from Patrick Palka --- (In reply to Martin Sebor from comment #2) > 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 > static void (*pf)(); > }; > > template > void foo () { > (void)A::pf; > } > > void bar () { > foo<0>(); > } > u.cpp: In instantiation of ‘void foo() [with int = 0]’: > u.cpp:13:10: required from here > u.cpp:9:9: error: ‘template > void (* A::pf)()< > >’ is not a function template >(void)A::pf; > ^ > > u.cpp:9:9: error: ‘pf’ is not a member of ‘A’ This test seems to regress between 5.2 and 5.3.
[Bug c++/69098] [6.0 regression] Member function pointer template flagged with 'is not a function template'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098 --- Comment #5 from Martin Sebor --- I looks like it was introduced in r186681. The last good commit before that is r186667, and none of those in between touch the C++ front end. Though the changes in r186681 look very mechanical and not related to templates at all so I'm not sure.
[Bug c++/69098] [6.0 regression] Member function pointer template flagged with 'is not a function template'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098 Richard Biener changed: What|Removed |Added Priority|P3 |P1 Version|unknown |6.0
[Bug c++/69098] [6.0 regression] Member function pointer template flagged with 'is not a function template'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098 --- Comment #3 from hir...@trash-mail.com --- Your testcase is really quite a bit smaller still – impressive skills! :) Thanks for confirming and since 5.1.0 works for you, on Wandbox and additionally your testcase doesn’t fail locally, I guess I might just have looked at the wrong one of my two installations when I queried the version, perhaps I forgot to prepend '.\' or something like that.
[Bug c++/69098] [6.0 regression] Member function pointer template flagged with 'is not a function template'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098 Andrew Pinski changed: What|Removed |Added URL|http://melpon.org/wandbox/p | |ermlink/DShqHOBBMDx3X0H2| Target Milestone|--- |6.0
[Bug c++/69098] [6.0 regression] Member function pointer template flagged with 'is not a function template'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098 Martin Sebor 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 --- 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 static void (*pf)(); }; template void foo () { (void)A::pf; } void bar () { foo<0>(); } u.cpp: In instantiation of ‘void foo() [with int = 0]’: u.cpp:13:10: required from here u.cpp:9:9: error: ‘template > void (* A::pf)()< >’ is not a function template (void)A::pf; ^ u.cpp:9:9: error: ‘pf’ is not a member of ‘A’