|
1 |
| -//@ only-cdb |
| 1 | +//@ min-lldb-version: 1800 |
| 2 | +//@ ignore-gdb |
2 | 3 | //@ compile-flags:-g
|
| 4 | + |
| 5 | +// === LLDB TESTS ================================================================================== |
| 6 | + |
| 7 | +// lldb-command:run |
| 8 | +// lldb-command:v a |
| 9 | +// lldbg-check:(core::option::Option<msvc_pretty_enums::CStyleEnum>) a = { value = { 0 = Low } } |
| 10 | + |
| 11 | +// lldb-command:v b |
| 12 | +// lldbg-check:(core::option::Option<msvc_pretty_enums::CStyleEnum>) b = { value = $discr$ = '\x01' } |
| 13 | + |
| 14 | +// lldb-command:v c |
| 15 | +// lldbg-check:(msvc_pretty_enums::NicheLayoutEnum) c = { value = $discr$ = '\x11' } |
| 16 | + |
| 17 | +// lldb-command:v d |
| 18 | +// lldbg-check:(msvc_pretty_enums::NicheLayoutEnum) d = { value = { my_data = High } } |
| 19 | + |
| 20 | +// lldb-command:v e |
| 21 | +// lldbg-check:(msvc_pretty_enums::NicheLayoutEnum) e = { value = $discr$ = '\x13' } |
| 22 | + |
| 23 | +// lldb-command:v h |
| 24 | +// lldbg-check:(core::option::Option<u32>) h = { value = { 0 = 12 } $discr$ = 1 } |
| 25 | + |
| 26 | +// lldb-command:v i |
| 27 | +// lldbg-check:(core::option::Option<u32>) i = { value = $discr$ = 0 } |
| 28 | + |
| 29 | +// lldb-command:v j |
| 30 | +// lldbg-check:(msvc_pretty_enums::CStyleEnum) j = High |
| 31 | + |
| 32 | +// lldb-command:v k |
| 33 | +// lldbg-check:(core::option::Option<alloc::string::String>) k = { value = { 0 = "IAMA optional string!" { vec = size=21 { [0] = 'I' [1] = 'A' [2] = 'M' [3] = 'A' [4] = ' ' [5] = 'o' [6] = 'p' [7] = 't' [8] = 'i' [9] = 'o' [10] = 'n' [11] = 'a' [12] = 'l' [13] = ' ' [14] = 's' [15] = 't' [16] = 'r' [17] = 'i' [18] = 'n' [19] = 'g' [20] = '!' } } } } |
| 34 | + |
| 35 | +// lldb-command:v l |
| 36 | +// lldbg-check:(core::result::Result<u32, msvc_pretty_enums::Empty>) l = { value = { 0 = {} } } |
| 37 | + |
| 38 | +// lldb-command:v niche128_some |
| 39 | +// lldbg-check:(core::option::Option<core::num::nonzero::NonZero<i128>>) niche128_some = { value = $discr$ = 123456 } |
| 40 | + |
| 41 | +// lldb-command:v niche128_none |
| 42 | +// lldbg-check:(core::option::Option<core::num::nonzero::NonZero<i128>>) niche128_none = { value = $discr$ = 0 } |
| 43 | + |
| 44 | +// lldb-command:v wrapping_niche128_untagged |
| 45 | +// lldbg-check:(msvc_pretty_enums::Wrapping128Niche) wrapping_niche128_untagged = { value = { 0 = { 0 = 340282366920938463463374607431768211454 } } } |
| 46 | + |
| 47 | +// lldb-command:v wrapping_niche128_none1 |
| 48 | +// lldbg-check:(msvc_pretty_enums::Wrapping128Niche) wrapping_niche128_none1 = { value = { 0 = { 0 = 2 } } } |
| 49 | + |
| 50 | +// lldb-command:v direct_tag_128_a |
| 51 | +// lldbg-check:(msvc_pretty_enums::DirectTag128) direct_tag_128_a = { value = { 0 = 42 } $discr$ = 0 } |
| 52 | + |
| 53 | +// lldb-command:v direct_tag_128_b |
| 54 | +// lldbg-check:(msvc_pretty_enums::DirectTag128) direct_tag_128_b = { value = { 0 = 137 } $discr$ = 1 } |
| 55 | + |
| 56 | +// &u32 is incorrectly formatted and LLDB thinks it's a char* so skipping niche_w_fields_1_some |
| 57 | + |
| 58 | +// lldb-command:v niche_w_fields_1_none |
| 59 | +// lldbg-check:(msvc_pretty_enums::NicheLayoutWithFields1) niche_w_fields_1_none = { value = { 0 = 99 } $discr$ = 1 } |
| 60 | + |
| 61 | +// lldb-command:v niche_w_fields_2_some |
| 62 | +// lldbg-check:(msvc_pretty_enums::NicheLayoutWithFields2) niche_w_fields_2_some = { value = { 0 = 800 { __0 = { 0 = 800 } } 1 = 900 } $discr$ = 0 } |
| 63 | + |
| 64 | +// lldb-command:v niche_w_fields_3_some |
| 65 | +// lldbg-check:(msvc_pretty_enums::NicheLayoutWithFields3) niche_w_fields_3_some = { value = { 0 = '\x89' 1 = true } } |
| 66 | + |
| 67 | +// lldb-command:v niche_w_fields_3_niche3 |
| 68 | +// lldbg-check:(msvc_pretty_enums::NicheLayoutWithFields3) niche_w_fields_3_niche3 = { value = { 0 = '"' } $discr$ = '\x04' } |
| 69 | + |
| 70 | +// lldb-command:v arbitrary_discr1 |
| 71 | +// lldbg-check:(msvc_pretty_enums::ArbitraryDiscr) arbitrary_discr1 = { value = { 0 = 1234 } $discr$ = 1000 } |
| 72 | + |
| 73 | +// lldb-command:v arbitrary_discr2 |
| 74 | +// lldbg-check:(msvc_pretty_enums::ArbitraryDiscr) arbitrary_discr2 = { value = { 0 = 5678 } $discr$ = 5000000 } |
| 75 | + |
| 76 | +// === CDB TESTS ================================================================================== |
| 77 | +// cdb-command: g |
| 78 | +// |
| 79 | +// cdb-command: dx a |
| 80 | +// cdb-check:a : Some [Type: enum2$<core::option::Option<msvc_pretty_enums::CStyleEnum> >] |
| 81 | +// cdb-check: [+0x000] __0 : Low (0x2) [Type: msvc_pretty_enums::CStyleEnum] |
3 | 82 | //
|
4 | 83 | // cdb-command: g
|
5 | 84 | //
|
|
0 commit comments