1 // min-lldb-version: 310
2 // ignore-gdb // Test temporarily ignored due to debuginfo tests being disabled, see PR 47155
6 // === GDB TESTS ===================================================================================
10 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
11 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
15 // gdb-command:print val
17 // gdb-command:print ten
19 // gdb-command:continue
21 // gdb-command:print val
23 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
24 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
26 // gdb-command:print ten
28 // gdb-command:continue
30 // gdb-command:print val
32 // gdb-command:print ten
34 // gdb-command:continue
37 // gdb-command:print val
39 // gdb-command:print ten
41 // gdb-command:continue
43 // gdb-command:print val
45 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
46 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
48 // gdb-command:print ten
50 // gdb-command:continue
52 // gdb-command:print val
54 // gdb-command:print ten
56 // gdb-command:continue
59 // gdb-command:print val
61 // gdb-command:print ten
63 // gdb-command:continue
65 // gdb-command:print val
67 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
68 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
70 // gdb-command:print ten
72 // gdb-command:continue
74 // gdb-command:print val
76 // gdb-command:print ten
78 // gdb-command:continue
81 // gdb-command:print val
83 // gdb-command:print ten
85 // gdb-command:continue
87 // gdb-command:print val
89 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
90 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
92 // gdb-command:print ten
94 // gdb-command:continue
96 // gdb-command:print val
98 // gdb-command:print ten
100 // gdb-command:continue
102 // REPEAT VEC EXPRESSION
103 // gdb-command:print val
104 // gdb-check:$30 = -1
105 // gdb-command:print ten
106 // gdb-check:$31 = 10
107 // gdb-command:continue
109 // gdb-command:print val
110 // gdb-check:$32 = 15
111 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
112 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
114 // gdb-command:print ten
115 // gdb-check:$34 = 10
116 // gdb-command:continue
118 // gdb-command:print val
119 // gdb-check:$35 = -1
120 // gdb-command:print ten
121 // gdb-check:$36 = 10
122 // gdb-command:continue
124 // ASSIGNMENT EXPRESSION
125 // gdb-command:print val
126 // gdb-check:$37 = -1
127 // gdb-command:print ten
128 // gdb-check:$38 = 10
129 // gdb-command:continue
131 // gdb-command:print val
132 // gdb-check:$39 = 16
133 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
134 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
136 // gdb-command:print ten
137 // gdb-check:$41 = 10
138 // gdb-command:continue
140 // gdb-command:print val
141 // gdb-check:$42 = -1
142 // gdb-command:print ten
143 // gdb-check:$43 = 10
144 // gdb-command:continue
147 // ARITHMETIC EXPRESSION
148 // gdb-command:print val
149 // gdb-check:$44 = -1
150 // gdb-command:print ten
151 // gdb-check:$45 = 10
152 // gdb-command:continue
154 // gdb-command:print val
155 // gdb-check:$46 = 17
156 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
157 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
159 // gdb-command:print ten
160 // gdb-check:$48 = 10
161 // gdb-command:continue
163 // gdb-command:print val
164 // gdb-check:$49 = -1
165 // gdb-command:print ten
166 // gdb-check:$50 = 10
167 // gdb-command:continue
170 // gdb-command:print val
171 // gdb-check:$51 = -1
172 // gdb-command:print ten
173 // gdb-check:$52 = 10
174 // gdb-command:continue
176 // gdb-command:print val
177 // gdb-check:$53 = 18
178 // gdbg-command:print 'lexical_scopes_in_block_expression::MUT_INT'
179 // gdbr-command:print lexical_scopes_in_block_expression::MUT_INT
181 // gdb-command:print ten
182 // gdb-check:$55 = 10
183 // gdb-command:continue
185 // gdb-command:print val
186 // gdb-check:$56 = -1
187 // gdb-command:print ten
188 // gdb-check:$57 = 10
189 // gdb-command:continue
192 // === LLDB TESTS ==================================================================================
197 // lldb-command:print val
198 // lldbg-check:[...]$0 = -1
199 // lldbr-check:(i32) val = -1
200 // lldb-command:print ten
201 // lldbg-check:[...]$1 = 10
202 // lldbr-check:(isize) ten = 10
203 // lldb-command:continue
205 // lldb-command:print val
206 // lldbg-check:[...]$2 = 11
207 // lldbr-check:(isize) val = 11
208 // lldb-command:print ten
209 // lldbg-check:[...]$3 = 10
210 // lldbr-check:(isize) ten = 10
211 // lldb-command:continue
213 // lldb-command:print val
214 // lldbg-check:[...]$4 = -1
215 // lldbr-check:(i32) val = -1
216 // lldb-command:print ten
217 // lldbg-check:[...]$5 = 10
218 // lldbr-check:(isize) ten = 10
219 // lldb-command:continue
222 // lldb-command:print val
223 // lldbg-check:[...]$6 = -1
224 // lldbr-check:(i32) val = -1
225 // lldb-command:print ten
226 // lldbg-check:[...]$7 = 10
227 // lldbr-check:(isize) ten = 10
228 // lldb-command:continue
230 // lldb-command:print val
231 // lldbg-check:[...]$8 = 12
232 // lldbr-check:(isize) val = 12
233 // lldb-command:print ten
234 // lldbg-check:[...]$9 = 10
235 // lldbr-check:(isize) ten = 10
236 // lldb-command:continue
238 // lldb-command:print val
239 // lldbg-check:[...]$10 = -1
240 // lldbr-check:(i32) val = -1
241 // lldb-command:print ten
242 // lldbg-check:[...]$11 = 10
243 // lldbr-check:(isize) ten = 10
244 // lldb-command:continue
247 // lldb-command:print val
248 // lldbg-check:[...]$12 = -1
249 // lldbr-check:(i32) val = -1
250 // lldb-command:print ten
251 // lldbg-check:[...]$13 = 10
252 // lldbr-check:(isize) ten = 10
253 // lldb-command:continue
255 // lldb-command:print val
256 // lldbg-check:[...]$14 = 13
257 // lldbr-check:(isize) val = 13
258 // lldb-command:print ten
259 // lldbg-check:[...]$15 = 10
260 // lldbr-check:(isize) ten = 10
261 // lldb-command:continue
263 // lldb-command:print val
264 // lldbg-check:[...]$16 = -1
265 // lldbr-check:(i32) val = -1
266 // lldb-command:print ten
267 // lldbg-check:[...]$17 = 10
268 // lldbr-check:(isize) ten = 10
269 // lldb-command:continue
272 // lldb-command:print val
273 // lldbg-check:[...]$18 = -1
274 // lldbr-check:(i32) val = -1
275 // lldb-command:print ten
276 // lldbg-check:[...]$19 = 10
277 // lldbr-check:(isize) ten = 10
278 // lldb-command:continue
280 // lldb-command:print val
281 // lldbg-check:[...]$20 = 14
282 // lldbr-check:(isize) val = 14
283 // lldb-command:print ten
284 // lldbg-check:[...]$21 = 10
285 // lldbr-check:(isize) ten = 10
286 // lldb-command:continue
288 // lldb-command:print val
289 // lldbg-check:[...]$22 = -1
290 // lldbr-check:(i32) val = -1
291 // lldb-command:print ten
292 // lldbg-check:[...]$23 = 10
293 // lldbr-check:(isize) ten = 10
294 // lldb-command:continue
296 // REPEAT VEC EXPRESSION
297 // lldb-command:print val
298 // lldbg-check:[...]$24 = -1
299 // lldbr-check:(i32) val = -1
300 // lldb-command:print ten
301 // lldbg-check:[...]$25 = 10
302 // lldbr-check:(isize) ten = 10
303 // lldb-command:continue
305 // lldb-command:print val
306 // lldbg-check:[...]$26 = 15
307 // lldbr-check:(isize) val = 15
308 // lldb-command:print ten
309 // lldbg-check:[...]$27 = 10
310 // lldbr-check:(isize) ten = 10
311 // lldb-command:continue
313 // lldb-command:print val
314 // lldbg-check:[...]$28 = -1
315 // lldbr-check:(i32) val = -1
316 // lldb-command:print ten
317 // lldbg-check:[...]$29 = 10
318 // lldbr-check:(isize) ten = 10
319 // lldb-command:continue
321 // ASSIGNMENT EXPRESSION
322 // lldb-command:print val
323 // lldbg-check:[...]$30 = -1
324 // lldbr-check:(i32) val = -1
325 // lldb-command:print ten
326 // lldbg-check:[...]$31 = 10
327 // lldbr-check:(isize) ten = 10
328 // lldb-command:continue
330 // lldb-command:print val
331 // lldbg-check:[...]$32 = 16
332 // lldbr-check:(isize) val = 16
333 // lldb-command:print ten
334 // lldbg-check:[...]$33 = 10
335 // lldbr-check:(isize) ten = 10
336 // lldb-command:continue
338 // lldb-command:print val
339 // lldbg-check:[...]$34 = -1
340 // lldbr-check:(i32) val = -1
341 // lldb-command:print ten
342 // lldbg-check:[...]$35 = 10
343 // lldbr-check:(isize) ten = 10
344 // lldb-command:continue
347 // ARITHMETIC EXPRESSION
348 // lldb-command:print val
349 // lldbg-check:[...]$36 = -1
350 // lldbr-check:(i32) val = -1
351 // lldb-command:print ten
352 // lldbg-check:[...]$37 = 10
353 // lldbr-check:(isize) ten = 10
354 // lldb-command:continue
356 // lldb-command:print val
357 // lldbg-check:[...]$38 = 17
358 // lldbr-check:(isize) val = 17
359 // lldb-command:print ten
360 // lldbg-check:[...]$39 = 10
361 // lldbr-check:(isize) ten = 10
362 // lldb-command:continue
364 // lldb-command:print val
365 // lldbg-check:[...]$40 = -1
366 // lldbr-check:(i32) val = -1
367 // lldb-command:print ten
368 // lldbg-check:[...]$41 = 10
369 // lldbr-check:(isize) ten = 10
370 // lldb-command:continue
373 // lldb-command:print val
374 // lldbg-check:[...]$42 = -1
375 // lldbr-check:(i32) val = -1
376 // lldb-command:print ten
377 // lldbg-check:[...]$43 = 10
378 // lldbr-check:(isize) ten = 10
379 // lldb-command:continue
381 // lldb-command:print val
382 // lldbg-check:[...]$44 = 18
383 // lldbr-check:(isize) val = 18
384 // lldb-command:print ten
385 // lldbg-check:[...]$45 = 10
386 // lldbr-check:(isize) ten = 10
387 // lldb-command:continue
389 // lldb-command:print val
390 // lldbg-check:[...]$46 = -1
391 // lldbr-check:(i32) val = -1
392 // lldb-command:print ten
393 // lldbg-check:[...]$47 = 10
394 // lldbr-check:(isize) ten = 10
395 // lldb-command:continue
397 #![allow(unused_variables)]
398 #![allow(unused_assignments)]
399 #![feature(omit_gdb_pretty_printer_section)]
400 #![omit_gdb_pretty_printer_section]
402 static mut MUT_INT: isize = 0;
409 fn a_function(x: isize) -> isize {
418 // surrounded by struct expression
425 unsafe {MUT_INT = 1;};
438 // surrounded by function call
444 unsafe {MUT_INT = 2;};
462 unsafe {MUT_INT = 3;};
479 unsafe {MUT_INT = 4;};
490 // surrounded by repeat vec
496 unsafe {MUT_INT = 5;};
507 // assignment expression
514 unsafe {MUT_INT = 6;};
525 // arithmetic expression
531 unsafe {MUT_INT = 7;};
543 let a_vector = [10; 20];
549 unsafe {MUT_INT = 8;};