| 1 | enum EnumUChar { UChar = 1 } e1; |
|---|---|
| 2 | enum EnumUShort { UShort = 0x101 } e2; |
| 3 | enum EnumUInt { UInt = 0x10001 } e3; |
| 4 | enum EnumSLong { SLong = 0x100000001 } e4; |
| 5 | enum EnumULong { ULong = 0xFFFFFFFFFFFFFFF0 } e5; |
| 6 | enum EnumNChar { NChar = -1 } e6; |
| 7 | enum EnumNShort { NShort = -0x101 } e7; |
| 8 | enum EnumNInt { NInt = -0x10001 } e8; |
| 9 | enum EnumNLong { NLong = -0x100000001 } e9; |
| 10 | |
| 11 | int 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 |
