xref: /llvm-project/lldb/test/API/commands/expression/bitfield_enums/main.cpp (revision dde3f17026be48c05a5d3876f12db72fdd6422ed)
1 enum class SignedEnum : int { min = -2, max = 1 };
2 enum class UnsignedEnum : unsigned { min = 0, max = 3 };
3 
4 struct BitfieldStruct {
5   SignedEnum signed_min : 2;
6   SignedEnum signed_other : 2;
7   SignedEnum signed_max : 2;
8   UnsignedEnum unsigned_min : 2;
9   UnsignedEnum unsigned_other : 2;
10   UnsignedEnum unsigned_max : 2;
11 };
12 
main()13 int main() {
14   BitfieldStruct bfs;
15   bfs.signed_min = SignedEnum::min;
16   bfs.signed_other = static_cast<SignedEnum>(-1);
17   bfs.signed_max = SignedEnum::max;
18 
19   bfs.unsigned_min = UnsignedEnum::min;
20   bfs.unsigned_other = static_cast<UnsignedEnum>(1);
21   bfs.unsigned_max = UnsignedEnum::max;
22 
23   return 0; // break here
24 }
25