1c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas Gregor// RUN: %clang_cc1 -std=c++11 %s -verify
2c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas Gregor
3c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas Gregortemplate<int i> class X { /* ... */ };
4c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas GregorX< 1>2 > x1; // expected-error{{expected unqualified-id}}
5c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas GregorX<(1>2)> x2; // OK
6c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas Gregortemplate<class T> class Y { /* ... */ };
7c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas GregorY<X<1>> x3; // OK, same as Y<X<1> > x3;
8c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas GregorY<X<6>>1>> x4; // expected-error{{expected unqualified-id}}
9c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas GregorY<X<(6>>1)>> x5;
10c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas Gregor
11c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas Gregorint a, b;
12c86c40b912e53fb11ff8f745ed616035b8b7259cDouglas GregorY<decltype(a < b)> x6;
13