1 | // RUN: %clang_cc1 -fsyntax-only -std=c++98 -verify %s |
2 | template<typename T> struct X; |
3 | template<int I> struct Y; |
4 | |
5 | X<X<int> > *x1; |
6 | X<X<int>> *x2; // expected-error{{a space is required between consecutive right angle brackets (use '> >')}} |
7 | |
8 | X<X<X<X<int>> // expected-error{{a space is required between consecutive right angle brackets (use '> >')}} |
9 | >> *x3; // expected-error{{a space is required between consecutive right angle brackets (use '> >')}} |
10 | |
11 | Y<(1 >> 2)> *y1; |
12 | Y<1 >> 2> *y2; // expected-warning{{use of right-shift operator ('>>') in template argument will require parentheses in C++11}} |
13 | |