]> git.proxmox.com Git - rustc.git/blame - src/test/debuginfo/simple-tuple.rs
New upstream version 1.46.0~beta.2+dfsg1
[rustc.git] / src / test / debuginfo / simple-tuple.rs
CommitLineData
1a4d82fc 1// min-lldb-version: 310
2c00a5a8 2// ignore-gdb // Test temporarily ignored due to debuginfo tests being disabled, see PR 47155
1a4d82fc
JJ
3
4// compile-flags:-g
5
6// === GDB TESTS ===================================================================================
7
c30ab7b3
SL
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)
1a4d82fc
JJ
38
39// gdb-command:run
40
c30ab7b3
SL
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)
1a4d82fc 45// gdb-command:print noPadding16
c30ab7b3
SL
46// gdbg-check:$9 = {__0 = 0, __1 = 1, __2 = 2}
47// gdbr-check:$9 = (0, 1, 2)
1a4d82fc 48// gdb-command:print noPadding32
c30ab7b3
SL
49// gdbg-check:$10 = {__0 = 3, __1 = 4.5, __2 = 5}
50// gdbr-check:$10 = (3, 4.5, 5)
1a4d82fc 51// gdb-command:print noPadding64
c30ab7b3
SL
52// gdbg-check:$11 = {__0 = 6, __1 = 7.5, __2 = 8}
53// gdbr-check:$11 = (6, 7.5, 8)
1a4d82fc
JJ
54
55// gdb-command:print internalPadding1
c30ab7b3
SL
56// gdbg-check:$12 = {__0 = 9, __1 = 10}
57// gdbr-check:$12 = (9, 10)
1a4d82fc 58// gdb-command:print internalPadding2
c30ab7b3
SL
59// gdbg-check:$13 = {__0 = 11, __1 = 12, __2 = 13, __3 = 14}
60// gdbr-check:$13 = (11, 12, 13, 14)
1a4d82fc
JJ
61
62// gdb-command:print paddingAtEnd
c30ab7b3
SL
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)
1a4d82fc
JJ
96
97
98// === LLDB TESTS ==================================================================================
99
100// lldb-command:run
101
102// lldb-command:print/d noPadding8
f035d41b
XL
103// lldbg-check:[...]$0 = { 0 = -100 1 = 100 }
104// lldbr-check:((i8, u8)) noPadding8 = { 0 = -100 1 = 100 }
1a4d82fc 105// lldb-command:print noPadding16
f035d41b
XL
106// lldbg-check:[...]$1 = { 0 = 0 1 = 1 2 = 2 }
107// lldbr-check:((i16, i16, u16)) noPadding16 = { 0 = 0 1 = 1 2 = 2 }
1a4d82fc 108// lldb-command:print noPadding32
f035d41b
XL
109// lldbg-check:[...]$2 = { 0 = 3 1 = 4.5 2 = 5 }
110// lldbr-check:((i32, f32, u32)) noPadding32 = { 0 = 3 1 = 4.5 2 = 5 }
1a4d82fc 111// lldb-command:print noPadding64
f035d41b
XL
112// lldbg-check:[...]$3 = { 0 = 6 1 = 7.5 2 = 8 }
113// lldbr-check:((i64, f64, u64)) noPadding64 = { 0 = 6 1 = 7.5 2 = 8 }
1a4d82fc
JJ
114
115// lldb-command:print internalPadding1
f035d41b
XL
116// lldbg-check:[...]$4 = { 0 = 9 1 = 10 }
117// lldbr-check:((i16, i32)) internalPadding1 = { 0 = 9 1 = 10 }
1a4d82fc 118// lldb-command:print internalPadding2
f035d41b
XL
119// lldbg-check:[...]$5 = { 0 = 11 1 = 12 2 = 13 3 = 14 }
120// lldbr-check:((i16, i32, u32, u64)) internalPadding2 = { 0 = 11 1 = 12 2 = 13 3 = 14 }
1a4d82fc
JJ
121
122// lldb-command:print paddingAtEnd
f035d41b
XL
123// lldbg-check:[...]$6 = { 0 = 15 1 = 16 }
124// lldbr-check:((i32, i16)) paddingAtEnd = { 0 = 15 1 = 16 }
125
126
127// === CDB TESTS ==================================================================================
128
129// cdb-command: g
130
131// cdb-command:dx noPadding8,d
132// cdb-check:noPadding8,d [...]: (-100, 100) [Type: tuple<i8, u8>]
133// cdb-check:[...][0] : -100 [Type: [...]]
134// cdb-check:[...][1] : 100 [Type: [...]]
135// cdb-command:dx noPadding16,d
136// cdb-check:noPadding16,d [...]: (0, 1, 2) [Type: tuple<i16, i16, u16>]
137// cdb-check:[...][0] : 0 [Type: [...]]
138// cdb-check:[...][1] : 1 [Type: [...]]
139// cdb-check:[...][2] : 2 [Type: [...]]
140// cdb-command:dx noPadding32,d
141// cdb-check:noPadding32,d [...]: (3, 4.5[...], 5) [Type: tuple<i32, f32, u32>]
142// cdb-check:[...][0] : 3 [Type: [...]]
143// cdb-check:[...][1] : 4.5[...] [Type: [...]]
144// cdb-check:[...][2] : 5 [Type: [...]]
145// cdb-command:dx noPadding64,d
146// cdb-check:noPadding64,d [...]: (6, 7.5[...], 8) [Type: tuple<i64, f64, u64>]
147// cdb-check:[...][0] : 6 [Type: [...]]
148// cdb-check:[...][1] : 7.500000 [Type: [...]]
149// cdb-check:[...][2] : 8 [Type: [...]]
150
151// cdb-command:dx internalPadding1,d
152// cdb-check:internalPadding1,d [...]: (9, 10) [Type: tuple<i16, i32>]
153// cdb-check:[...][0] : 9 [Type: short]
154// cdb-check:[...][1] : 10 [Type: int]
155// cdb-command:dx internalPadding2,d
156// cdb-check:internalPadding2,d [...]: (11, 12, 13, 14) [Type: tuple<i16, i32, u32, u64>]
157// cdb-check:[...][0] : 11 [Type: [...]]
158// cdb-check:[...][1] : 12 [Type: [...]]
159// cdb-check:[...][2] : 13 [Type: [...]]
160// cdb-check:[...][3] : 14 [Type: [...]]
161
162// cdb-command:dx paddingAtEnd,d
163// cdb-check:paddingAtEnd,d [...]: (15, 16) [Type: tuple<i32, i16>]
164// cdb-check:[...][0] : 15 [Type: [...]]
165// cdb-check:[...][1] : 16 [Type: [...]]
166
1a4d82fc
JJ
167
168#![allow(unused_variables)]
169#![allow(dead_code)]
b039eaaf 170#![feature(omit_gdb_pretty_printer_section)]
1a4d82fc
JJ
171#![omit_gdb_pretty_printer_section]
172
173static mut NO_PADDING_8: (i8, u8) = (-50, 50);
174static mut NO_PADDING_16: (i16, i16, u16) = (-1, 2, 3);
175
176static mut NO_PADDING_32: (i32, f32, u32) = (4, 5.0, 6);
177static mut NO_PADDING_64: (i64, f64, u64) = (7, 8.0, 9);
178
179static mut INTERNAL_PADDING_1: (i16, i32) = (10, 11);
180static mut INTERNAL_PADDING_2: (i16, i32, u32, u64) = (12, 13, 14, 15);
181
182static mut PADDING_AT_END: (i32, i16) = (16, 17);
183
184fn main() {
185 let noPadding8: (i8, u8) = (-100, 100);
186 let noPadding16: (i16, i16, u16) = (0, 1, 2);
187 let noPadding32: (i32, f32, u32) = (3, 4.5, 5);
188 let noPadding64: (i64, f64, u64) = (6, 7.5, 8);
189
190 let internalPadding1: (i16, i32) = (9, 10);
191 let internalPadding2: (i16, i32, u32, u64) = (11, 12, 13, 14);
192
193 let paddingAtEnd: (i32, i16) = (15, 16);
194
195 unsafe {
196 NO_PADDING_8 = (-127, 127);
197 NO_PADDING_16 = (-10, 10, 9);
198
199 NO_PADDING_32 = (14, 15.0, 16);
200 NO_PADDING_64 = (17, 18.0, 19);
201
202 INTERNAL_PADDING_1 = (110, 111);
203 INTERNAL_PADDING_2 = (112, 113, 114, 115);
204
205 PADDING_AT_END = (116, 117);
206 }
207
208 zzz(); // #break
209}
210
211fn zzz() {()}