https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85428
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- For the first testcase, here is a reduced testcase: template <int> char hh= 0; static_assert(&hh<0> != &hh<1>, "should not be equal"); ----- CUT ---- Note the above is even valid C++14. And here is the reduced valid C++11 testcase: template <int> struct a { static const char hh= 0; }; static_assert(&a<0>::hh!=&a<1>::hh, "");