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