// RUN: %clang_cc1 -fsyntax-only -verify %s | |
// expected-no-diagnostics | |
enum Enum { val = 1 }; | |
template <Enum v> struct C { | |
typedef C<v> Self; | |
}; | |
template struct C<val>; | |
template<typename T> | |
struct get_size { | |
static const unsigned value = sizeof(T); | |
}; | |
template<typename T> | |
struct X0 { | |
enum { | |
Val1 = get_size<T>::value, | |
Val2, | |
SumOfValues = Val1 + Val2 | |
}; | |
}; | |
X0<int> x0i; | |
namespace rdar8020920 { | |
template<typename T> | |
struct X { | |
enum { e0 = 32 }; | |
unsigned long long bitfield : e0; | |
void f(int j) { | |
bitfield + j; | |
} | |
}; | |
} |