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