https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55992
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2013-01-15 00:00:00 |2016-3-14 CC| |msebor at gcc dot gnu.org Known to fail| |4.9.3, 5.1.0, 6.0 --- Comment #7 from Martin Sebor <msebor at gcc dot gnu.org> --- Reconfirmed with today's top of trunk of 6.0 and with all prior supported versions. Below is an ever-so-slightly simpler test case: $ cat v.c && /home/msebor/build/gcc-trunk-svn/gcc/xgcc -B/home/msebor/build/gcc-trunk-svn/gcc -S -Wall -Wextra -Wpedantic -xc++ v.c template <int> struct A { }; template <int I> struct B { static constexpr int f (int i) { return i; } template <int J> using C = A<f (J)>; // error C<I> c; }; v.c: In substitution of ‘template<int I> template<int J> using C = A<f(J)> [with int J = I; int I = I]’: v.c:11:6: required from here v.c:9:17: error: ‘f’ was not declared in this scope using C = A<f (J)>; // error ~~^~~