llvm-capstone/clang/test/SemaCXX/short-enums.cpp
Chris Lattner cdb591af03 fix PR9474, a crash with -fshort-enum and C++ templates: when instantiating
the enum decl, we need to use an integer type the same size as the enumerator,
which may not be the promoted type with packed enums.

llvm-svn: 130148
2011-04-25 20:37:58 +00:00

17 lines
256 B
C++

// RUN: %clang_cc1 -fshort-enums -fsyntax-only %s
// This shouldn't crash: PR9474
enum E { VALUE_1 };
template <typename T>
struct A {};
template <E Enum>
struct B : A<B<Enum> > {};
void bar(int x) {
switch (x) {
case sizeof(B<VALUE_1>): ;
}
}