1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3enum Enum { val = 1 }; 4template <Enum v> struct C { 5 typedef C<v> Self; 6}; 7template struct C<val>; 8 9template<typename T> 10struct get_size { 11 static const unsigned value = sizeof(T); 12}; 13 14template<typename T> 15struct X0 { 16 enum { 17 Val1 = get_size<T>::value, 18 Val2, 19 SumOfValues = Val1 + Val2 20 }; 21}; 22 23X0<int> x0i; 24 25namespace rdar8020920 { 26 template<typename T> 27 struct X { 28 enum { e0 = 32 }; 29 30 unsigned long long bitfield : e0; 31 32 void f(int j) { 33 bitfield + j; 34 } 35 }; 36} 37