1 // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // min-lldb-version: 310
15 // === GDB TESTS ===================================================================================
19 // gdb-command:print 'lexical_scopes_in_block_expression::MUT_INT'
23 // gdb-command:print val
25 // gdb-command:print ten
27 // gdb-command:continue
29 // gdb-command:print val
31 // gdb-command:print 'lexical_scopes_in_block_expression::MUT_INT'
33 // gdb-command:print ten
35 // gdb-command:continue
37 // gdb-command:print val
39 // gdb-command:print ten
41 // gdb-command:continue
44 // gdb-command:print val
46 // gdb-command:print ten
48 // gdb-command:continue
50 // gdb-command:print val
52 // gdb-command:print 'lexical_scopes_in_block_expression::MUT_INT'
54 // gdb-command:print ten
56 // gdb-command:continue
58 // gdb-command:print val
60 // gdb-command:print ten
62 // gdb-command:continue
65 // gdb-command:print val
67 // gdb-command:print ten
69 // gdb-command:continue
71 // gdb-command:print val
73 // gdb-command:print 'lexical_scopes_in_block_expression::MUT_INT'
75 // gdb-command:print ten
77 // gdb-command:continue
79 // gdb-command:print val
81 // gdb-command:print ten
83 // gdb-command:continue
86 // gdb-command:print val
88 // gdb-command:print ten
90 // gdb-command:continue
92 // gdb-command:print val
94 // gdb-command:print 'lexical_scopes_in_block_expression::MUT_INT'
96 // gdb-command:print ten
98 // gdb-command:continue
100 // gdb-command:print val
101 // gdb-check:$28 = -1
102 // gdb-command:print ten
103 // gdb-check:$29 = 10
104 // gdb-command:continue
106 // REPEAT VEC EXPRESSION
107 // gdb-command:print val
108 // gdb-check:$30 = -1
109 // gdb-command:print ten
110 // gdb-check:$31 = 10
111 // gdb-command:continue
113 // gdb-command:print val
114 // gdb-check:$32 = 15
115 // gdb-command:print 'lexical_scopes_in_block_expression::MUT_INT'
117 // gdb-command:print ten
118 // gdb-check:$34 = 10
119 // gdb-command:continue
121 // gdb-command:print val
122 // gdb-check:$35 = -1
123 // gdb-command:print ten
124 // gdb-check:$36 = 10
125 // gdb-command:continue
127 // ASSIGNMENT EXPRESSION
128 // gdb-command:print val
129 // gdb-check:$37 = -1
130 // gdb-command:print ten
131 // gdb-check:$38 = 10
132 // gdb-command:continue
134 // gdb-command:print val
135 // gdb-check:$39 = 16
136 // gdb-command:print 'lexical_scopes_in_block_expression::MUT_INT'
138 // gdb-command:print ten
139 // gdb-check:$41 = 10
140 // gdb-command:continue
142 // gdb-command:print val
143 // gdb-check:$42 = -1
144 // gdb-command:print ten
145 // gdb-check:$43 = 10
146 // gdb-command:continue
149 // ARITHMETIC EXPRESSION
150 // gdb-command:print val
151 // gdb-check:$44 = -1
152 // gdb-command:print ten
153 // gdb-check:$45 = 10
154 // gdb-command:continue
156 // gdb-command:print val
157 // gdb-check:$46 = 17
158 // gdb-command:print 'lexical_scopes_in_block_expression::MUT_INT'
160 // gdb-command:print ten
161 // gdb-check:$48 = 10
162 // gdb-command:continue
164 // gdb-command:print val
165 // gdb-check:$49 = -1
166 // gdb-command:print ten
167 // gdb-check:$50 = 10
168 // gdb-command:continue
171 // gdb-command:print val
172 // gdb-check:$51 = -1
173 // gdb-command:print ten
174 // gdb-check:$52 = 10
175 // gdb-command:continue
177 // gdb-command:print val
178 // gdb-check:$53 = 18
179 // gdb-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 // lldb-check:[...]$0 = -1
199 // lldb-command:print ten
200 // lldb-check:[...]$1 = 10
201 // lldb-command:continue
203 // lldb-command:print val
204 // lldb-check:[...]$2 = 11
205 // lldb-command:print ten
206 // lldb-check:[...]$3 = 10
207 // lldb-command:continue
209 // lldb-command:print val
210 // lldb-check:[...]$4 = -1
211 // lldb-command:print ten
212 // lldb-check:[...]$5 = 10
213 // lldb-command:continue
216 // lldb-command:print val
217 // lldb-check:[...]$6 = -1
218 // lldb-command:print ten
219 // lldb-check:[...]$7 = 10
220 // lldb-command:continue
222 // lldb-command:print val
223 // lldb-check:[...]$8 = 12
224 // lldb-command:print ten
225 // lldb-check:[...]$9 = 10
226 // lldb-command:continue
228 // lldb-command:print val
229 // lldb-check:[...]$10 = -1
230 // lldb-command:print ten
231 // lldb-check:[...]$11 = 10
232 // lldb-command:continue
235 // lldb-command:print val
236 // lldb-check:[...]$12 = -1
237 // lldb-command:print ten
238 // lldb-check:[...]$13 = 10
239 // lldb-command:continue
241 // lldb-command:print val
242 // lldb-check:[...]$14 = 13
243 // lldb-command:print ten
244 // lldb-check:[...]$15 = 10
245 // lldb-command:continue
247 // lldb-command:print val
248 // lldb-check:[...]$16 = -1
249 // lldb-command:print ten
250 // lldb-check:[...]$17 = 10
251 // lldb-command:continue
254 // lldb-command:print val
255 // lldb-check:[...]$18 = -1
256 // lldb-command:print ten
257 // lldb-check:[...]$19 = 10
258 // lldb-command:continue
260 // lldb-command:print val
261 // lldb-check:[...]$20 = 14
262 // lldb-command:print ten
263 // lldb-check:[...]$21 = 10
264 // lldb-command:continue
266 // lldb-command:print val
267 // lldb-check:[...]$22 = -1
268 // lldb-command:print ten
269 // lldb-check:[...]$23 = 10
270 // lldb-command:continue
272 // REPEAT VEC EXPRESSION
273 // lldb-command:print val
274 // lldb-check:[...]$24 = -1
275 // lldb-command:print ten
276 // lldb-check:[...]$25 = 10
277 // lldb-command:continue
279 // lldb-command:print val
280 // lldb-check:[...]$26 = 15
281 // lldb-command:print ten
282 // lldb-check:[...]$27 = 10
283 // lldb-command:continue
285 // lldb-command:print val
286 // lldb-check:[...]$28 = -1
287 // lldb-command:print ten
288 // lldb-check:[...]$29 = 10
289 // lldb-command:continue
291 // ASSIGNMENT EXPRESSION
292 // lldb-command:print val
293 // lldb-check:[...]$30 = -1
294 // lldb-command:print ten
295 // lldb-check:[...]$31 = 10
296 // lldb-command:continue
298 // lldb-command:print val
299 // lldb-check:[...]$32 = 16
300 // lldb-command:print ten
301 // lldb-check:[...]$33 = 10
302 // lldb-command:continue
304 // lldb-command:print val
305 // lldb-check:[...]$34 = -1
306 // lldb-command:print ten
307 // lldb-check:[...]$35 = 10
308 // lldb-command:continue
311 // ARITHMETIC EXPRESSION
312 // lldb-command:print val
313 // lldb-check:[...]$36 = -1
314 // lldb-command:print ten
315 // lldb-check:[...]$37 = 10
316 // lldb-command:continue
318 // lldb-command:print val
319 // lldb-check:[...]$38 = 17
320 // lldb-command:print ten
321 // lldb-check:[...]$39 = 10
322 // lldb-command:continue
324 // lldb-command:print val
325 // lldb-check:[...]$40 = -1
326 // lldb-command:print ten
327 // lldb-check:[...]$41 = 10
328 // lldb-command:continue
331 // lldb-command:print val
332 // lldb-check:[...]$42 = -1
333 // lldb-command:print ten
334 // lldb-check:[...]$43 = 10
335 // lldb-command:continue
337 // lldb-command:print val
338 // lldb-check:[...]$44 = 18
339 // lldb-command:print ten
340 // lldb-check:[...]$45 = 10
341 // lldb-command:continue
343 // lldb-command:print val
344 // lldb-check:[...]$46 = -1
345 // lldb-command:print ten
346 // lldb-check:[...]$47 = 10
347 // lldb-command:continue
349 #![allow(unused_variables)]
350 #![allow(unused_assignments)]
351 #![feature(omit_gdb_pretty_printer_section)]
352 #![omit_gdb_pretty_printer_section]
354 static mut MUT_INT: isize = 0;
361 fn a_function(x: isize) -> isize {
370 // surrounded by struct expression
377 unsafe {MUT_INT = 1;};
390 // surrounded by function call
396 unsafe {MUT_INT = 2;};
414 unsafe {MUT_INT = 3;};
431 unsafe {MUT_INT = 4;};
442 // surrounded by repeat vec
448 unsafe {MUT_INT = 5;};
459 // assignment expression
466 unsafe {MUT_INT = 6;};
477 // arithmetic expression
483 unsafe {MUT_INT = 7;};
495 let a_vector = [10; 20];
501 unsafe {MUT_INT = 8;};