]> git.lizzy.rs Git - rust.git/blob - src/test/debuginfo/simple-tuple.rs
Auto merge of #68528 - ecstatic-morse:maybe-init-variants, r=oli-obk
[rust.git] / src / test / debuginfo / simple-tuple.rs
1 // min-lldb-version: 310
2 // ignore-gdb // Test temporarily ignored due to debuginfo tests being disabled, see PR 47155
3
4 // compile-flags:-g
5
6 // === GDB TESTS ===================================================================================
7
8 // gdbg-command:print/d 'simple_tuple::NO_PADDING_8'
9 // gdbr-command:print simple_tuple::NO_PADDING_8
10 // gdbg-check:$1 = {__0 = -50, __1 = 50}
11 // gdbr-check:$1 = (-50, 50)
12 // gdbg-command:print 'simple_tuple::NO_PADDING_16'
13 // gdbr-command:print simple_tuple::NO_PADDING_16
14 // gdbg-check:$2 = {__0 = -1, __1 = 2, __2 = 3}
15 // gdbr-check:$2 = (-1, 2, 3)
16 // gdbg-command:print 'simple_tuple::NO_PADDING_32'
17 // gdbr-command:print simple_tuple::NO_PADDING_32
18 // gdbg-check:$3 = {__0 = 4, __1 = 5, __2 = 6}
19 // gdbr-check:$3 = (4, 5, 6)
20 // gdbg-command:print 'simple_tuple::NO_PADDING_64'
21 // gdbr-command:print simple_tuple::NO_PADDING_64
22 // gdbg-check:$4 = {__0 = 7, __1 = 8, __2 = 9}
23 // gdbr-check:$4 = (7, 8, 9)
24
25 // gdbg-command:print 'simple_tuple::INTERNAL_PADDING_1'
26 // gdbr-command:print simple_tuple::INTERNAL_PADDING_1
27 // gdbg-check:$5 = {__0 = 10, __1 = 11}
28 // gdbr-check:$5 = (10, 11)
29 // gdbg-command:print 'simple_tuple::INTERNAL_PADDING_2'
30 // gdbr-command:print simple_tuple::INTERNAL_PADDING_2
31 // gdbg-check:$6 = {__0 = 12, __1 = 13, __2 = 14, __3 = 15}
32 // gdbr-check:$6 = (12, 13, 14, 15)
33
34 // gdbg-command:print 'simple_tuple::PADDING_AT_END'
35 // gdbr-command:print simple_tuple::PADDING_AT_END
36 // gdbg-check:$7 = {__0 = 16, __1 = 17}
37 // gdbr-check:$7 = (16, 17)
38
39 // gdb-command:run
40
41 // gdbg-command:print/d noPadding8
42 // gdbr-command:print noPadding8
43 // gdbg-check:$8 = {__0 = -100, __1 = 100}
44 // gdbr-check:$8 = (-100, 100)
45 // gdb-command:print noPadding16
46 // gdbg-check:$9 = {__0 = 0, __1 = 1, __2 = 2}
47 // gdbr-check:$9 = (0, 1, 2)
48 // gdb-command:print noPadding32
49 // gdbg-check:$10 = {__0 = 3, __1 = 4.5, __2 = 5}
50 // gdbr-check:$10 = (3, 4.5, 5)
51 // gdb-command:print noPadding64
52 // gdbg-check:$11 = {__0 = 6, __1 = 7.5, __2 = 8}
53 // gdbr-check:$11 = (6, 7.5, 8)
54
55 // gdb-command:print internalPadding1
56 // gdbg-check:$12 = {__0 = 9, __1 = 10}
57 // gdbr-check:$12 = (9, 10)
58 // gdb-command:print internalPadding2
59 // gdbg-check:$13 = {__0 = 11, __1 = 12, __2 = 13, __3 = 14}
60 // gdbr-check:$13 = (11, 12, 13, 14)
61
62 // gdb-command:print paddingAtEnd
63 // gdbg-check:$14 = {__0 = 15, __1 = 16}
64 // gdbr-check:$14 = (15, 16)
65
66 // gdbg-command:print/d 'simple_tuple::NO_PADDING_8'
67 // gdbr-command:print simple_tuple::NO_PADDING_8
68 // gdbg-check:$15 = {__0 = -127, __1 = 127}
69 // gdbr-check:$15 = (-127, 127)
70 // gdbg-command:print 'simple_tuple::NO_PADDING_16'
71 // gdbr-command:print simple_tuple::NO_PADDING_16
72 // gdbg-check:$16 = {__0 = -10, __1 = 10, __2 = 9}
73 // gdbr-check:$16 = (-10, 10, 9)
74 // gdbg-command:print 'simple_tuple::NO_PADDING_32'
75 // gdbr-command:print simple_tuple::NO_PADDING_32
76 // gdbg-check:$17 = {__0 = 14, __1 = 15, __2 = 16}
77 // gdbr-check:$17 = (14, 15, 16)
78 // gdbg-command:print 'simple_tuple::NO_PADDING_64'
79 // gdbr-command:print simple_tuple::NO_PADDING_64
80 // gdbg-check:$18 = {__0 = 17, __1 = 18, __2 = 19}
81 // gdbr-check:$18 = (17, 18, 19)
82
83 // gdbg-command:print 'simple_tuple::INTERNAL_PADDING_1'
84 // gdbr-command:print simple_tuple::INTERNAL_PADDING_1
85 // gdbg-check:$19 = {__0 = 110, __1 = 111}
86 // gdbr-check:$19 = (110, 111)
87 // gdbg-command:print 'simple_tuple::INTERNAL_PADDING_2'
88 // gdbr-command:print simple_tuple::INTERNAL_PADDING_2
89 // gdbg-check:$20 = {__0 = 112, __1 = 113, __2 = 114, __3 = 115}
90 // gdbr-check:$20 = (112, 113, 114, 115)
91
92 // gdbg-command:print 'simple_tuple::PADDING_AT_END'
93 // gdbr-command:print simple_tuple::PADDING_AT_END
94 // gdbg-check:$21 = {__0 = 116, __1 = 117}
95 // gdbr-check:$21 = (116, 117)
96
97
98 // === LLDB TESTS ==================================================================================
99
100 // lldb-command:run
101
102 // lldb-command:print/d noPadding8
103 // lldbg-check:[...]$0 = (-100, 100)
104 // lldbr-check:((i8, u8)) noPadding8 = { = -100 -100 = 100 100 }
105 // lldb-command:print noPadding16
106 // lldbg-check:[...]$1 = (0, 1, 2)
107 // lldbr-check:((i16, i16, u16)) noPadding16 = { = 0 = 1 = 2 }
108 // lldb-command:print noPadding32
109 // lldbg-check:[...]$2 = (3, 4.5, 5)
110 // lldbr-check:((i32, f32, u32)) noPadding32 = { = 3 = 4.5 = 5 }
111 // lldb-command:print noPadding64
112 // lldbg-check:[...]$3 = (6, 7.5, 8)
113 // lldbr-check:((i64, f64, u64)) noPadding64 = { = 6 = 7.5 = 8 }
114
115 // lldb-command:print internalPadding1
116 // lldbg-check:[...]$4 = (9, 10)
117 // lldbr-check:((i16, i32)) internalPadding1 = { = 9 = 10 }
118 // lldb-command:print internalPadding2
119 // lldbg-check:[...]$5 = (11, 12, 13, 14)
120 // lldbr-check:((i16, i32, u32, u64)) internalPadding2 = { = 11 = 12 = 13 = 14 }
121
122 // lldb-command:print paddingAtEnd
123 // lldbg-check:[...]$6 = (15, 16)
124 // lldbr-check:((i32, i16)) paddingAtEnd = { = 15 = 16 }
125
126 #![allow(unused_variables)]
127 #![allow(dead_code)]
128 #![feature(omit_gdb_pretty_printer_section)]
129 #![omit_gdb_pretty_printer_section]
130
131 static mut NO_PADDING_8: (i8, u8) = (-50, 50);
132 static mut NO_PADDING_16: (i16, i16, u16) = (-1, 2, 3);
133
134 static mut NO_PADDING_32: (i32, f32, u32) = (4, 5.0, 6);
135 static mut NO_PADDING_64: (i64, f64, u64) = (7, 8.0, 9);
136
137 static mut INTERNAL_PADDING_1: (i16, i32) = (10, 11);
138 static mut INTERNAL_PADDING_2: (i16, i32, u32, u64) = (12, 13, 14, 15);
139
140 static mut PADDING_AT_END: (i32, i16) = (16, 17);
141
142 fn main() {
143     let noPadding8: (i8, u8) = (-100, 100);
144     let noPadding16: (i16, i16, u16) = (0, 1, 2);
145     let noPadding32: (i32, f32, u32) = (3, 4.5, 5);
146     let noPadding64: (i64, f64, u64) = (6, 7.5, 8);
147
148     let internalPadding1: (i16, i32) = (9, 10);
149     let internalPadding2: (i16, i32, u32, u64) = (11, 12, 13, 14);
150
151     let paddingAtEnd: (i32, i16) = (15, 16);
152
153     unsafe {
154         NO_PADDING_8 = (-127, 127);
155         NO_PADDING_16 = (-10, 10, 9);
156
157         NO_PADDING_32 = (14, 15.0, 16);
158         NO_PADDING_64 = (17, 18.0, 19);
159
160         INTERNAL_PADDING_1 = (110, 111);
161         INTERNAL_PADDING_2 = (112, 113, 114, 115);
162
163         PADDING_AT_END = (116, 117);
164     }
165
166     zzz(); // #break
167 }
168
169 fn zzz() {()}