| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| template<int i> struct x { |
| static const unsigned value = sizeof(T); |
| const unsigned X0<T>::value; |
| int array1[X0<int>::value == sizeof(int)? 1 : -1]; |
| const unsigned& testX0() { return X0<int>::value; } |
| int array2[X0<int>::value == sizeof(int)? 1 : -1]; |
| static const unsigned value; |
| const unsigned X1<T>::value = sizeof(T); |
| int array3[X1<int>::value == sizeof(int)? 1 : -1]; // expected-error{{variable length arrays are not permitted in C++}} \ |
| // expected-error{{variable length array declaration not allowed at file scope}} |