1enum EnumUChar { UChar = 1 } e1;
2enum EnumUShort { UShort = 0x101 } e2;
3enum EnumUInt { UInt = 0x10001 } e3;
4enum EnumSLong { SLong = 0x100000001 } e4;
5enum EnumULong { ULong = 0xFFFFFFFFFFFFFFF0 } e5;
6enum EnumNChar { NChar = -1 } e6;
7enum EnumNShort { NShort = -0x101 } e7;
8enum EnumNInt { NInt = -0x10001 } e8;
9enum EnumNLong { NLong = -0x100000001 } e9;
10
11int main() {
12 auto UChar_promoted = +EnumUChar::UChar;
13 auto UShort_promoted = +EnumUShort::UShort;
14 auto UInt_promoted = +EnumUInt::UInt;
15 auto SLong_promoted = +EnumSLong::SLong;
16 auto ULong_promoted = +EnumULong::ULong;
17 auto NChar_promoted = +EnumNChar::NChar;
18 auto NShort_promoted = +EnumNShort::NShort;
19 auto NInt_promoted = +EnumNInt::NInt;
20 auto NLong_promoted = +EnumNLong::NLong;
21 return 0; // break here
22}
23

source code of lldb/test/API/lang/cpp/enum_promotion/main.cpp