reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | // RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics template<int i> struct x { static const int j = i; x<j>* y; }; template<int i> const int x<i>::j; int array0[x<2>::j]; template<typename T> struct X0 { static const unsigned value = sizeof(T); }; template<typename 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]; template<typename T> struct X1 { static const unsigned value; }; template<typename T> const unsigned X1<T>::value = sizeof(T); int array3[X1<int>::value == sizeof(int)? 1 : -1]; |