1 2 3 4 5 6 7 8 9 10
// { dg-do compile { target c++11 } } template<int i> class X { /* ... */ }; X< 1>2 > x1; // // { dg-error "numeric constant" } X<(1>2)> x2; // Okay. template<class T> class Y { /* ... */ }; Y<X<1>> x3; // Okay, same as "Y<X<1> > x3;". Y<X<6>>1>> x4; // { dg-error "numeric constant" } Y<X<(6>>1)>> x5; // Okay