p15.cpp 601 B

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