38 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s2// expected-no-diagnostics3 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 + Val221 };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