brintos

brintos / llvm-project-archived public Read only

0
0
Text · 667 B · 7cdeda6 Raw
36 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s2// expected-no-diagnostics3template<int i> struct x {4  static const int j = i;5  x<j>* y;6};7 8template<int i>9const int x<i>::j;10 11int array0[x<2>::j];12 13template<typename T>14struct X0 {15  static const unsigned value = sizeof(T);16};17 18template<typename T>19const unsigned X0<T>::value;20 21int array1[X0<int>::value == sizeof(int)? 1 : -1];22 23const unsigned& testX0() { return X0<int>::value; }24 25int array2[X0<int>::value == sizeof(int)? 1 : -1];26 27template<typename T>28struct X1 {29  static const unsigned value;30};31 32template<typename T>33const unsigned X1<T>::value = sizeof(T);34 35int array3[X1<int>::value == sizeof(int)? 1 : -1];36