https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098
--- Comment #11 from Patrick Palka <ppalka at gcc dot gnu.org> --- There is another bug lurking here, though. The following test case fails to compile, even with my proposed patch: struct A { template <int> static void *pf; }; template <typename B> bool foo () { return B::template pf<false>; } bool bar () { return foo<A>(); } 69098.C: In instantiation of ‘bool foo() [with B = A]’: 69098.C:16:17: required from here 69098.C:12:10: error: ‘A::pf<0>’ is not a template [-fpermissive] return B::template pf<false>; ^