* gdb.arch/altivec-abi.exp: Replace gdb_suppress_entire_file with
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.mi / mi2-var-child.exp
1 # Copyright 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
2
3 # This Program Is Free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16
17 # Test essential Machine interface (MI) operations
18 #
19 # Verify that, using the MI, we can create, update, delete variables.
20 #
21
22
23 load_lib mi-support.exp
24 set MIFLAGS "-i=mi2"
25
26 gdb_exit
27 if [mi_gdb_start] {
28 continue
29 }
30
31 set testfile "var-cmd"
32 set srcfile ${testfile}.c
33 set binfile ${objdir}/${subdir}/${testfile}
34 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DFAKEARGV}] != "" } {
35 untested mi2-var-child.exp
36 return -1
37 }
38
39 mi_delete_breakpoints
40 mi_gdb_reinitialize_dir $srcdir/$subdir
41 mi_gdb_load ${binfile}
42
43 mi_runto do_children_tests
44
45 ##### #####
46 # #
47 # children tests #
48 # #
49 ##### #####
50
51
52 # Test: c_variable-4.2
53 # Desc: create variable "struct_declarations"
54 mi_gdb_test "-var-create struct_declarations * struct_declarations" \
55 "\\^done,name=\"struct_declarations\",numchild=\"11\",type=\"struct _struct_decl\"" \
56 "create local variable struct_declarations"
57
58 # Test: c_variable-4.3
59 # Desc: children of struct_declarations
60 # STABS doesn't give us argument types for the func ptr structs, but
61 # Dwarf 2 does.
62 mi_gdb_test "-var-list-children struct_declarations" \
63 "\\^done,numchild=\"11\",children=\\\[child=\{name=\"struct_declarations.integer\",exp=\"integer\",numchild=\"0\",type=\"int\"\},child=\{name=\"struct_declarations.character\",exp=\"character\",numchild=\"0\",type=\"char\"\},child={name=\"struct_declarations.char_ptr\",exp=\"char_ptr\",numchild=\"1\",type=\"char \\*\"\},child=\{name=\"struct_declarations.long_int\",exp=\"long_int\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.int_ptr_ptr\",exp=\"int_ptr_ptr\",numchild=\"1\",type=\"int \\*\\*\"\},child=\{name=\"struct_declarations.long_array\",exp=\"long_array\",numchild=\"10\",type=\"long int \\\[10\\\]\"\},child=\{name=\"struct_declarations.func_ptr\",exp=\"func_ptr\",numchild=\"0\",type=\"void \\(\\*\\)\\((void)?\\)\"\},child=\{name=\"struct_declarations.func_ptr_struct\",exp=\"func_ptr_struct\",numchild=\"0\",type=\"struct _struct_decl \\(\\*\\)\\((int, char \\*, long int)?\\)\"\},child=\{name=\"struct_declarations.func_ptr_ptr\",exp=\"func_ptr_ptr\",numchild=\"0\",type=\"struct _struct_decl \\*\\(\\*\\)\\((int, char \\*, long int)?\\)\"\},child=\{name=\"struct_declarations.u1\",exp=\"u1\",numchild=\"4\",type=\"union \{\\.\\.\\.\}\"\},child=\{name=\"struct_declarations.s2\",exp=\"s2\",numchild=\"4\",type=\"struct \{\\.\\.\\.\}\"\}\\\]" \
64 "get children of struct_declarations"
65
66 #gdbtk_test c_variable-4.3 {children of struct_declarations} {
67 # get_children struct_declarations
68 #} {integer character char_ptr long_int int_ptr_ptr long_array func_ptr func_ptr_struct func_ptr_ptr u1 s2}
69
70 # Test: c_variable-4.4
71 # Desc: number of children of struct_declarations
72 mi_gdb_test "-var-info-num-children struct_declarations" \
73 "\\^done,numchild=\"11\"" \
74 "get number of children of struct_declarations"
75
76 # Test: c_variable-4.5
77 # Desc: children of struct_declarations.integer
78 mi_gdb_test "-var-list-children struct_declarations.integer" \
79 "\\^done,numchild=\"0\"" \
80 "get children of struct_declarations.integer"
81
82 # Test: c_variable-4.6
83 # Desc: number of children of struct_declarations.integer
84 mi_gdb_test "-var-info-num-children struct_declarations.integer" \
85 "\\^done,numchild=\"0\"" \
86 "get number of children of struct_declarations.integer"
87
88 # Test: c_variable-4.7
89 # Desc: children of struct_declarations.character
90 mi_gdb_test "-var-list-children struct_declarations.character" \
91 "\\^done,numchild=\"0\"" \
92 "get children of struct_declarations.character"
93
94 # Test: c_variable-4.8
95 # Desc: number of children of struct_declarations.character
96 mi_gdb_test "-var-info-num-children struct_declarations.character" \
97 "\\^done,numchild=\"0\"" \
98 "get number of children of struct_declarations.character"
99
100 # Test: c_variable-4.9
101 # Desc: children of struct_declarations.char_ptr
102 mi_gdb_test "-var-list-children struct_declarations.char_ptr" \
103 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"struct_declarations.char_ptr.\\*char_ptr\",exp=\"\\*char_ptr\",numchild=\"0\",type=\"char\"\}\\\]" \
104 "get children of struct_declarations.char_ptr"
105
106 # Test: c_variable-4.10
107 # Desc: number of children of struct_declarations.char_ptr
108 mi_gdb_test "-var-info-num-children struct_declarations.char_ptr" \
109 "\\^done,numchild=\"1\"" \
110 "get number of children of struct_declarations.char_ptr"
111
112 # Test: c_variable-4.11
113 # Desc: children of struct_declarations.long_int
114 mi_gdb_test "-var-list-children struct_declarations.long_int" \
115 "\\^done,numchild=\"0\"" \
116 "get children of struct_declarations.long_int"
117
118 # Test: c_variable-4.12
119 # Desc: number of children of struct_declarations.long_int
120 mi_gdb_test "-var-info-num-children struct_declarations.long_int" \
121 "\\^done,numchild=\"0\"" \
122 "get number of children of struct_declarations.long_int"
123
124 # Test: c_variable-4.13
125 # Desc: children of int_ptr_ptr
126 mi_gdb_test "-var-list-children struct_declarations.int_ptr_ptr" \
127 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr\",exp=\"\\*int_ptr_ptr\",numchild=\"1\",type=\"int \\*\"\}\\\]" \
128 "get children of struct_declarations.int_ptr_ptr"
129
130 #gdbtk_test c_variable-4.13 {children of int_ptr_ptr} {
131 # get_children struct_declarations.int_ptr_ptr
132 #} {*int_ptr_ptr}
133
134 # Test: c_variable-4.14
135 # Desc: number of children of int_ptr_ptr
136 mi_gdb_test "-var-info-num-children struct_declarations.int_ptr_ptr" \
137 "\\^done,numchild=\"1\"" \
138 "get number of children of struct_declarations.int_ptr_ptr"
139
140
141 # Test: c_variable-4.15
142 # Desc: children of struct_declarations.long_array
143 mi_gdb_test "-var-list-children struct_declarations.long_array" \
144 "\\^done,numchild=\"10\",children=\\\[child=\{name=\"struct_declarations.long_array.0\",exp=\"0\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.1\",exp=\"1\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.2\",exp=\"2\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.3\",exp=\"3\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.4\",exp=\"4\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.5\",exp=\"5\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.6\",exp=\"6\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.7\",exp=\"7\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.8\",exp=\"8\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.9\",exp=\"9\",numchild=\"0\",type=\"long int\"\}\\\]" \
145 "get children of struct_declarations.long_array"
146
147 # Test: c_variable-4.16
148 # Desc: number of children of struct_declarations.long_array
149 mi_gdb_test "-var-info-num-children struct_declarations.long_array" \
150 "\\^done,numchild=\"10\"" \
151 "get number of children of struct_declarations.long_array"
152
153 # Test: c_variable-4.17
154 # Desc: children of struct_declarations.func_ptr
155 mi_gdb_test "-var-list-children struct_declarations.func_ptr" \
156 "\\^done,numchild=\"0\"" \
157 "get children of struct_declarations.func_ptr"
158
159
160 # Test: c_variable-4.18
161 # Desc: number of children of struct_declarations.func_ptr
162 mi_gdb_test "-var-info-num-children struct_declarations.func_ptr" \
163 "\\^done,numchild=\"0\"" \
164 "get number of children of struct_declarations.func_ptr"
165
166
167 # Test: c_variable-4.19
168 # Desc: children of struct_declarations.func_ptr_struct
169 mi_gdb_test "-var-list-children struct_declarations.func_ptr_struct" \
170 "\\^done,numchild=\"0\"" \
171 "get children of struct_declarations.func_ptr_struct"
172
173 # Test: c_variable-4.20
174 # Desc: number of children of struct_declarations.func_ptr_struct
175 mi_gdb_test "-var-info-num-children struct_declarations.func_ptr_struct" \
176 "\\^done,numchild=\"0\"" \
177 "get number of children of struct_declarations.func_ptr_struct"
178
179
180 # Test: c_variable-4.21
181 # Desc: children of struct_declarations.func_ptr_ptr
182 mi_gdb_test "-var-list-children struct_declarations.func_ptr_ptr" \
183 "\\^done,numchild=\"0\"" \
184 "get children of struct_declarations.func_ptr_ptr"
185
186 # Test: c_variable-4.22
187 # Desc: number of children of struct_declarations.func_ptr_ptr
188 mi_gdb_test "-var-info-num-children struct_declarations.func_ptr_ptr" \
189 "\\^done,numchild=\"0\"" \
190 "get number of children of struct_declarations.func_ptr_ptr"
191
192
193 # Test: c_variable-4.23
194 # Desc: children of struct_declarations.u1
195 mi_gdb_test "-var-list-children struct_declarations.u1" \
196 "\\^done,numchild=\"4\",children=\\\[child=\{name=\"struct_declarations.u1.a\",exp=\"a\",numchild=\"0\",type=\"int\"\},child=\{name=\"struct_declarations.u1.b\",exp=\"b\",numchild=\"1\",type=\"char \\*\"\},child=\{name=\"struct_declarations.u1.c\",exp=\"c\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.u1.d\",exp=\"d\",numchild=\"0\",type=\"enum foo\"\}\\\]" \
197 "get children of struct_declarations.u1"
198
199 # Test: c_variable-4.24
200 # Desc: number of children of struct_declarations.u1
201 mi_gdb_test "-var-info-num-children struct_declarations.u1" \
202 "\\^done,numchild=\"4\"" \
203 "get number of children of struct_declarations.u1"
204
205 # Test: c_variable-4.25
206 # Desc: children of struct_declarations.s2
207 mi_gdb_test "-var-list-children struct_declarations.s2" \
208 "\\^done,numchild=\"4\",children=\\\[child=\{name=\"struct_declarations.s2.u2\",exp=\"u2\",numchild=\"3\",type=\"union \{\\.\\.\\.\}\"\},child=\{name=\"struct_declarations.s2.g\",exp=\"g\",numchild=\"0\",type=\"int\"\},child=\{name=\"struct_declarations.s2.h\",exp=\"h\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.i\",exp=\"i\",numchild=\"10\",type=\"long int \\\[10\\\]\"\}\\\]" \
209 "get children of struct_declarations.s2"
210 #gdbtk_test c_variable-4.25 {children of struct_declarations.s2} {
211 # get_children struct_declarations.s2
212 #} {u2 g h i}
213
214 # Test: c_variable-4.26
215 # Desc: number of children of struct_declarations.s2
216 mi_gdb_test "-var-info-num-children struct_declarations.s2" \
217 "\\^done,numchild=\"4\"" \
218 "get number of children of struct_declarations.s2"
219
220
221 # Test: c_variable-4.27
222 # Desc: children of struct_declarations.long_array.1
223 mi_gdb_test "-var-list-children struct_declarations.long_array.1" \
224 "\\^done,numchild=\"0\"" \
225 "get children of struct_declarations.long_array.1"
226
227 # Test: c_variable-4.28
228 # Desc: number of children of struct_declarations.long_array.1
229 mi_gdb_test "-var-info-num-children struct_declarations.long_array.1" \
230 "\\^done,numchild=\"0\"" \
231 "get number of children of struct_declarations.long_array.1"
232
233 # Test: c_variable-4.29
234 # Desc: children of struct_declarations.long_array.2
235 mi_gdb_test "-var-list-children struct_declarations.long_array.2" \
236 "\\^done,numchild=\"0\"" \
237 "get children of struct_declarations.long_array.2"
238
239 # Test: c_variable-4.30
240 # Desc: number of children of struct_declarations.long_array.2
241 mi_gdb_test "-var-info-num-children struct_declarations.long_array.2" \
242 "\\^done,numchild=\"0\"" \
243 "get number of children of struct_declarations.long_array.2"
244
245 # Test: c_variable-4.31
246 # Desc: children of struct_declarations.long_array.3
247 mi_gdb_test "-var-list-children struct_declarations.long_array.3" \
248 "\\^done,numchild=\"0\"" \
249 "get children of struct_declarations.long_array.3"
250
251 # Test: c_variable-4.32
252 # Desc: number of children of struct_declarations.long_array.3
253 mi_gdb_test "-var-info-num-children struct_declarations.long_array.3" \
254 "\\^done,numchild=\"0\"" \
255 "get number of children of struct_declarations.long_array.3"
256
257 # Test: c_variable-4.33
258 # Desc: children of struct_declarations.long_array.4
259 mi_gdb_test "-var-list-children struct_declarations.long_array.4" \
260 "\\^done,numchild=\"0\"" \
261 "get children of struct_declarations.long_array.4"
262
263 # Test: c_variable-4.34
264 # Desc: number of children of struct_declarations.long_array.4
265 mi_gdb_test "-var-info-num-children struct_declarations.long_array.4" \
266 "\\^done,numchild=\"0\"" \
267 "get number of children of struct_declarations.long_array.4"
268
269 # Test: c_variable-4.35
270 # Desc: children of struct_declarations.long_array.5
271 mi_gdb_test "-var-list-children struct_declarations.long_array.5" \
272 "\\^done,numchild=\"0\"" \
273 "get children of struct_declarations.long_array.5"
274
275 # Test: c_variable-4.36
276 # Desc: number of children of struct_declarations.long_array.5
277 mi_gdb_test "-var-info-num-children struct_declarations.long_array.5" \
278 "\\^done,numchild=\"0\"" \
279 "get number of children of struct_declarations.long_array.5"
280
281 # Test: c_variable-4.37
282 # Desc: children of struct_declarations.long_array.6
283 mi_gdb_test "-var-list-children struct_declarations.long_array.6" \
284 "\\^done,numchild=\"0\"" \
285 "get children of struct_declarations.long_array.6"
286
287 # Test: c_variable-4.38
288 # Desc: number of children of struct_declarations.long_array.6
289 mi_gdb_test "-var-info-num-children struct_declarations.long_array.6" \
290 "\\^done,numchild=\"0\"" \
291 "get number of children of struct_declarations.long_array.6"
292
293 # Test: c_variable-4.39
294 # Desc: children of struct_declarations.long_array.7
295 mi_gdb_test "-var-list-children struct_declarations.long_array.7" \
296 "\\^done,numchild=\"0\"" \
297 "get children of struct_declarations.long_array.7"
298
299 # Test: c_variable-4.40
300 # Desc: number of children of struct_declarations.long_array.7
301 mi_gdb_test "-var-info-num-children struct_declarations.long_array.7" \
302 "\\^done,numchild=\"0\"" \
303 "get number of children of struct_declarations.long_array.7"
304
305 # Test: c_variable-4.41
306 # Desc: children of struct_declarations.long_array.8
307 mi_gdb_test "-var-list-children struct_declarations.long_array.8" \
308 "\\^done,numchild=\"0\"" \
309 "get children of struct_declarations.long_array.8"
310
311 # Test: c_variable-4.42
312 # Desc: number of children of struct_declarations.long_array.8
313 mi_gdb_test "-var-info-num-children struct_declarations.long_array.8" \
314 "\\^done,numchild=\"0\"" \
315 "get number of children of struct_declarations.long_array.8"
316
317
318 # Test: c_variable-4.43
319 # Desc: children of struct_declarations.long_array.9
320 mi_gdb_test "-var-list-children struct_declarations.long_array.9" \
321 "\\^done,numchild=\"0\"" \
322 "get children of struct_declarations.long_array.9"
323
324 # Test: c_variable-4.44
325 # Desc: number of children of struct_declarations.long_array.9
326 mi_gdb_test "-var-info-num-children struct_declarations.long_array.9" \
327 "\\^done,numchild=\"0\"" \
328 "get number of children of struct_declarations.long_array.9"
329
330 # Test: c_variable-4.45
331 # Desc: children of struct_declarations.u1.a
332 mi_gdb_test "-var-list-children struct_declarations.u1.a" \
333 "\\^done,numchild=\"0\"" \
334 "get children of struct_declarations.u1.a"
335
336 # Test: c_variable-4.46
337 # Desc: number of children of struct_declarations.u1.a
338 mi_gdb_test "-var-info-num-children struct_declarations.u1.a" \
339 "\\^done,numchild=\"0\"" \
340 "get number of children of struct_declarations.u1.a"
341
342 # Test: c_variable-4.47
343 # Desc: children of struct_declarations.u1.b
344 mi_gdb_test "-var-list-children struct_declarations.u1.b" \
345 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"struct_declarations.u1.b.\\*b\",exp=\"\\*b\",numchild=\"0\",type=\"char\"\}\\\]" \
346 "get children of struct_declarations.u1.b"
347
348 # Test: c_variable-4.48
349 # Desc: number of children of struct_declarations.u1.b
350 mi_gdb_test "-var-info-num-children struct_declarations.u1.b" \
351 "\\^done,numchild=\"1\"" \
352 "get number of children of struct_declarations.u1.b"
353
354 # Test: c_variable-4.49
355 # Desc: children of struct_declarations.u1.c
356 mi_gdb_test "-var-list-children struct_declarations.u1.c" \
357 "\\^done,numchild=\"0\"" \
358 "get children of struct_declarations.u1.c"
359
360 # Test: c_variable-4.50
361 # Desc: number of children of struct_declarations.u1.c
362 mi_gdb_test "-var-info-num-children struct_declarations.u1.c" \
363 "\\^done,numchild=\"0\"" \
364 "get number of children of struct_declarations.u1.c"
365
366 # Test: c_variable-4.51
367 # Desc: children of struct_declarations.u1.d
368 mi_gdb_test "-var-list-children struct_declarations.u1.d" \
369 "\\^done,numchild=\"0\"" \
370 "get children of struct_declarations.u1.d"
371
372
373 # Test: c_variable-4.52
374 # Desc: number of children of struct_declarations.u1.d
375 mi_gdb_test "-var-info-num-children struct_declarations.u1.d" \
376 "\\^done,numchild=\"0\"" \
377 "get number of children of struct_declarations.u1.d"
378
379
380 # Test: c_variable-4.53
381 # Desc: children of struct_declarations.s2.u2
382 mi_gdb_test "-var-list-children struct_declarations.s2.u2" \
383 "\\^done,numchild=\"3\",children=\\\[child=\{name=\"struct_declarations.s2.u2.u1s1\",exp=\"u1s1\",numchild=\"4\",type=\"struct \{\\.\\.\\.\}\"\},child=\{name=\"struct_declarations.s2.u2.f\",exp=\"f\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.u2.u1s2\",exp=\"u1s2\",numchild=\"2\",type=\"struct \{\\.\\.\\.\}\"\}\\\]" \
384 "get children of struct_declarations.s2.u2"
385
386 # Test: c_variable-4.54
387 # Desc: number of children of struct_declarations.s2.u2
388 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2" \
389 "\\^done,numchild=\"3\"" \
390 "get number of children of struct_declarations.s2.u2"
391
392 # Test: c_variable-4.55
393 # Desc: children of struct_declarations.s2.g
394 mi_gdb_test "-var-list-children struct_declarations.s2.g" \
395 "\\^done,numchild=\"0\"" \
396 "get children of struct_declarations.s2.g"
397
398 # Test: c_variable-4.56
399 # Desc: number of children of struct_declarations.s2.g
400 mi_gdb_test "-var-info-num-children struct_declarations.s2.g" \
401 "\\^done,numchild=\"0\"" \
402 "get number of children of struct_declarations.s2.g"
403
404
405 # Test: c_variable-4.57
406 # Desc: children of struct_declarations.s2.h
407 mi_gdb_test "-var-list-children struct_declarations.s2.h" \
408 "\\^done,numchild=\"0\"" \
409 "get children of struct_declarations.s2.h"
410
411 # Test: c_variable-4.58
412 # Desc: number of children of struct_declarations.s2.h
413 mi_gdb_test "-var-info-num-children struct_declarations.s2.h" \
414 "\\^done,numchild=\"0\"" \
415 "get number of children of struct_declarations.s2.h"
416
417
418 # Test: c_variable-4.59
419 # Desc: children of struct_declarations.s2.i
420 mi_gdb_test "-var-list-children struct_declarations.s2.i" \
421 "\\^done,numchild=\"10\",children=\\\[child=\{name=\"struct_declarations.s2.i.0\",exp=\"0\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.1\",exp=\"1\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.2\",exp=\"2\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.3\",exp=\"3\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.4\",exp=\"4\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.5\",exp=\"5\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.6\",exp=\"6\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.7\",exp=\"7\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.8\",exp=\"8\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.s2.i.9\",exp=\"9\",numchild=\"0\",type=\"long int\"\}\\\]" \
422 "get children of struct_declarations.s2.i"
423
424 # Test: c_variable-4.60
425 # Desc: number of children of struct_declarations.s2.i
426 mi_gdb_test "-var-info-num-children struct_declarations.s2.i" \
427 "\\^done,numchild=\"10\"" \
428 "get number of children of struct_declarations.s2.i"
429
430 # Test: c_variable-4.61
431 # Desc: children of struct_declarations.s2.u2.u1s1
432 mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1" \
433 "\\^done,numchild=\"4\",children=\\\[child=\{name=\"struct_declarations.s2.u2.u1s1.d\",exp=\"d\",numchild=\"0\",type=\"int\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e\",exp=\"e\",numchild=\"10\",type=\"char \\\[10\\\]\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.func\",exp=\"func\",numchild=\"0\",type=\"int \\*\\(\\*\\)\\((void)?\\)\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.foo\",exp=\"foo\",numchild=\"0\",type=\"efoo\"\}\\\]" \
434 "get children of struct_declarations.s2.u2.u1s1"
435
436 # Test: c_variable-4.62
437 # Desc: number of children of struct_declarations.s2.u2.u1s1
438 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1" \
439 "\\^done,numchild=\"4\"" \
440 "get number of children of struct_declarations.s2.u2.u1s1"
441
442 # Test: c_variable-4.63
443 # Desc: children of struct_declarations.s2.u2.f
444 mi_gdb_test "-var-list-children struct_declarations.s2.u2.f" \
445 "\\^done,numchild=\"0\"" \
446 "get children of struct_declarations.s2.u2.f"
447
448 # Test: c_variable-4.64
449 # Desc: number of children of struct_declarations.s2.u2.f
450 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.f" \
451 "\\^done,numchild=\"0\"" \
452 "get number of children of struct_declarations.s2.u2.f"
453
454 # Test: c_variable-4.65
455 # Desc: children of struct_declarations.s2.u2.u1s2
456 mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s2" \
457 "\\^done,numchild=\"2\",children=\\\[child=\{name=\"struct_declarations.s2.u2.u1s2.array_ptr\",exp=\"array_ptr\",numchild=\"2\",type=\"char \\\[2\\\]\"\},child=\{name=\"struct_declarations.s2.u2.u1s2.func\",exp=\"func\",numchild=\"0\",type=\"int \\(\\*\\)\\((int, char \\*)?\\)\"\}\\\]" \
458 "get children of struct_declarations.s2.u2.u1s2"
459
460 # Test: c_variable-4.66
461 # Desc: number of children of struct_declarations.s2.u2.u1s2
462 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s2" \
463 "\\^done,numchild=\"2\"" \
464 "get number of children of struct_declarations.s2.u2.u1s2"
465
466 # Test: c_variable-4.67
467 # Desc: children of struct_declarations.s2.u2.u1s1.d
468 mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1.d" \
469 "\\^done,numchild=\"0\"" \
470 "get children of struct_declarations.s2.u2.u1s1.d"
471
472 # Test: c_variable-4.68
473 # Desc: number of children of struct_declarations.s2.u2.u1s1.d
474 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1.d" \
475 "\\^done,numchild=\"0\"" \
476 "get number of children of struct_declarations.s2.u2.u1s1.d"
477
478 # Test: c_variable-4.69
479 # Desc: children of struct_declarations.s2.u2.u1s1.e
480 mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1.e" \
481 "\\^done,numchild=\"10\",children=\\\[child=\{name=\"struct_declarations.s2.u2.u1s1.e.0\",exp=\"0\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e.1\",exp=\"1\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e.2\",exp=\"2\",numchild=\"0\",type=\"char\"\},child={name=\"struct_declarations.s2.u2.u1s1.e.3\",exp=\"3\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e.4\",exp=\"4\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e.5\",exp=\"5\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e.6\",exp=\"6\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e.7\",exp=\"7\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e.8\",exp=\"8\",numchild=\"0\",type=\"char\"\},child=\{name=\"struct_declarations.s2.u2.u1s1.e.9\",exp=\"9\",numchild=\"0\",type=\"char\"\}\\\]" \
482 "get children of struct_declarations.s2.u2.u1s1.e"
483
484 # Test: c_variable-4.70
485 # Desc: number of children of struct_declarations.s2.u2.u1s1.e
486 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1.e" \
487 "\\^done,numchild=\"10\"" \
488 "get number of children of struct_declarations.s2.u2.u1s1.e"
489
490
491 # Test: c_variable-4.71
492 # Desc: children of struct_declarations.s2.u2.u1s1.func
493 mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1.func" \
494 "\\^done,numchild=\"0\"" \
495 "get children of struct_declarations.s2.u2.u1s1.func"
496
497 # Test: c_variable-4.72
498 # Desc: number of children of struct_declarations.s2.u2.u1s1.func
499 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1.func" \
500 "\\^done,numchild=\"0\"" \
501 "get number of children of struct_declarations.s2.u2.u1s1.func"
502
503
504 # Test: c_variable-4.73
505 # Desc: children of struct_declarations.s2.u2.u1s1.foo
506 mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1.foo" \
507 "\\^done,numchild=\"0\"" \
508 "get children of struct_declarations.s2.u2.u1s1.foo"
509
510 # Test: c_variable-4.74
511 # Desc: number of children of struct_declarations.s2.u2.u1s1.foo
512 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1.foo" \
513 "\\^done,numchild=\"0\"" \
514 "get number of children of struct_declarations.s2.u2.u1s1.foo"
515
516
517 # Test: c_variable-4.75
518 # Desc: children of struct_declarations.s2.u2.u1s2.array_ptr
519 mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s2.array_ptr" \
520 "\\^done,numchild=\"2\",children=\\\[child=\{name=\"struct_declarations.s2.u2.u1s2.array_ptr.0\",exp=\"0\",numchild=\"0\",type=\"char\"\},child={name=\"struct_declarations.s2.u2.u1s2.array_ptr.1\",exp=\"1\",numchild=\"0\",type=\"char\"\}\\\]" \
521 "get children of struct_declarations.s2.u2.u1s2.array_ptr"
522
523 # Test: c_variable-4.76
524 # Desc: number of children of struct_declarations.s2.u2.u1s2.array_ptr
525 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s2.array_ptr" \
526 "\\^done,numchild=\"2\"" \
527 "get number of children of struct_declarations.s2.u2.u1s2.array_ptr"
528
529 # Test: c_variable-4.77
530 # Desc: children of struct_declarations.s2.u2.u1s2.func
531 mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s2.func" \
532 "\\^done,numchild=\"0\"" \
533 "get children of struct_declarations.s2.u2.u1s2.func"
534
535 # Test: c_variable-4.78
536 # Desc: number of children of struct_declarations.s2.u2.u1s2.func
537 mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s2.func" \
538 "\\^done,numchild=\"0\"" \
539 "get number of children of struct_declarations.s2.u2.u1s2.func"
540
541 # Test: c_variable-4.79
542 # Desc: children of struct_declarations.int_ptr_ptr.*int_ptr_ptr
543 mi_gdb_test "-var-list-children struct_declarations.int_ptr_ptr.*int_ptr_ptr" \
544 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr.\\*\\*int_ptr_ptr\",exp=\"\\*\\*int_ptr_ptr\",numchild=\"0\",type=\"int\"\}\\\]" \
545 "get children of struct_declarations.int_ptr_ptr.*int_ptr_ptr"
546 #} {**int_ptr_ptr}
547
548 # Test: c_variable-4.80
549 # Desc: Number of children of struct_declarations.int_ptr_ptr.*int_ptr_ptr
550 mi_gdb_test "-var-info-num-children struct_declarations.int_ptr_ptr.*int_ptr_ptr" \
551 "\\^done,numchild=\"1\"" \
552 "get number of children of struct_declarations.int_ptr_ptr.*int_ptr_ptr"
553
554
555 # Step to "struct_declarations.integer = 123;"
556 set line_dct_123 [gdb_get_line_number "struct_declarations.integer = 123;"]
557 mi_step_to do_children_tests {} {.*var-cmd.c} \
558 $line_dct_123 "step to line \$line_dct_123"
559
560 # Test: c_variable-4.81
561 # Desc: create local variable "weird"
562 mi_gdb_test "-var-create weird * weird" \
563 "\\^done,name=\"weird\",numchild=\"11\",type=\"weird_struct \\*\"" \
564 "create local variable weird"
565
566 # Test: c_variable-4.82
567 # Desc: children of weird
568 mi_gdb_test "-var-list-children weird" \
569 "\\^done,numchild=\"11\",children=\\\[child=\{name=\"weird.integer\",exp=\"integer\",numchild=\"0\",type=\"int\"\},child=\{name=\"weird.character\",exp=\"character\",numchild=\"0\",type=\"char\"\},child=\{name=\"weird.char_ptr\",exp=\"char_ptr\",numchild=\"1\",type=\"char \\*\"\},child=\{name=\"weird.long_int\",exp=\"long_int\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.int_ptr_ptr\",exp=\"int_ptr_ptr\",numchild=\"1\",type=\"int \\*\\*\"\},child=\{name=\"weird.long_array\",exp=\"long_array\",numchild=\"10\",type=\"long int \\\[10\\\]\"\},child=\{name=\"weird.func_ptr\",exp=\"func_ptr\",numchild=\"0\",type=\"void \\(\\*\\)\\((void)?\\)\"\},child=\{name=\"weird.func_ptr_struct\",exp=\"func_ptr_struct\",numchild=\"0\",type=\"struct _struct_decl \\(\\*\\)\\((int, char \\*, long int)?\\)\"\},child=\{name=\"weird.func_ptr_ptr\",exp=\"func_ptr_ptr\",numchild=\"0\",type=\"struct _struct_decl \\*\\(\\*\\)\\((int, char \\*, long int)?\\)\"\},child=\{name=\"weird.u1\",exp=\"u1\",numchild=\"4\",type=\"union \{\\.\\.\\.\}\"\},child=\{name=\"weird.s2\",exp=\"s2\",numchild=\"4\",type=\"struct \{\\.\\.\\.\}\"\}\\\]" \
570 "get children of weird"
571
572 # Test: c_variable-4.83
573 # Desc: number of children of weird
574 mi_gdb_test "-var-info-num-children weird" \
575 "\\^done,numchild=\"11\"" \
576 "get number of children of weird"
577
578
579 # Test: c_variable-4.84
580 # Desc: children of weird->long_array
581 mi_gdb_test "-var-list-children weird.long_array" \
582 "\\^done,numchild=\"10\",children=\\\[child=\{name=\"weird.long_array.0\",exp=\"0\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.1\",exp=\"1\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.2\",exp=\"2\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.3\",exp=\"3\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.4\",exp=\"4\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.5\",exp=\"5\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.6\",exp=\"6\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.7\",exp=\"7\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.8\",exp=\"8\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.9\",exp=\"9\",numchild=\"0\",type=\"long int\"\}\\\]" \
583 "get children of weird.long_array"
584 #gdbtk_test c_variable-4.84 {children of weird->long_array} {
585 # get_children weird.long_array
586 #} {0 1 2 3 4 5 6 7 8 9}
587
588 # Test: c_variable-4.85
589 # Desc: number of children of weird.long_array
590 mi_gdb_test "-var-info-num-children weird.long_array" \
591 "\\^done,numchild=\"10\"" \
592 "get number of children of weird.long_array"
593
594 # Test: c_variable-4.86
595 # Desc: children of weird.int_ptr_ptr
596 mi_gdb_test "-var-list-children weird.int_ptr_ptr" \
597 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"weird.int_ptr_ptr.\\*int_ptr_ptr\",exp=\"\\*int_ptr_ptr\",numchild=\"1\",type=\"int \\*\"\}\\\]" \
598 "get children of weird.int_ptr_ptr"
599 #gdbtk_test c_variable-4.86 {children of weird->int_ptr_ptr} {
600 # get_children weird.int_ptr_ptr
601 #} {*int_ptr_ptr}
602
603 # Test: c_variable-4.87
604 # Desc: number of children of weird.int_ptr_ptr
605 mi_gdb_test "-var-info-num-children weird.int_ptr_ptr" \
606 "\\^done,numchild=\"1\"" \
607 "get number of children of weird.int_ptr_ptr"
608
609 # Test: c_variable-4.88
610 # Desc: children of *weird->int_ptr_ptr
611 mi_gdb_test "-var-list-children weird.int_ptr_ptr.*int_ptr_ptr" \
612 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"weird.int_ptr_ptr.\\*int_ptr_ptr.\\*\\*int_ptr_ptr\",exp=\"\\*\\*int_ptr_ptr\",numchild=\"0\",type=\"int\"\}\\\]" \
613 "get children of weird.int_ptr_ptr.*int_ptr_ptr"
614 #gdbtk_test c_variable-4.88 {children of *weird->int_ptr_ptr} {
615 # get_children weird.int_ptr_ptr.*int_ptr_ptr
616 #} {**int_ptr_ptr}
617
618 # Test: c_variable-4.89
619 # Desc: number of children *weird->int_ptr_ptr
620 mi_gdb_test "-var-info-num-children weird.int_ptr_ptr.*int_ptr_ptr" \
621 "\\^done,numchild=\"1\"" \
622 "get number of children of weird.int_ptr_ptr.*int_ptr_ptr"
623
624 # Test: c_variable-4.90
625 # Desc: create weird->int_ptr_ptr
626 mi_gdb_test "-var-create weird->int_ptr_ptr * weird->int_ptr_ptr" \
627 "\\^done,name=\"weird->int_ptr_ptr\",numchild=\"1\",type=\"int \\*\\*\"" \
628 "create local variable weird->int_ptr_ptr"
629
630 # Test: c_variable-4.91
631 # Desc: children of weird->int_ptr_ptr
632 mi_gdb_test "-var-list-children weird->int_ptr_ptr" \
633 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr\",exp=\"\\*weird->int_ptr_ptr\",numchild=\"1\",type=\"int \\*\"\}\\\]" \
634 "get children of weird->int_ptr_ptr"
635
636
637 # Test: c_variable-4.92
638 # Desc: number of children of (weird->int_ptr_ptr)
639 mi_gdb_test "-var-info-num-children weird->int_ptr_ptr" \
640 "\\^done,numchild=\"1\"" \
641 "get number of children of weird->int_ptr_ptr"
642
643 # Test: c_variable-4.93
644 # Desc: children of *(weird->int_ptr_ptr)
645 mi_gdb_test "-var-list-children weird->int_ptr_ptr.*weird->int_ptr_ptr" \
646 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr.\\*\\*weird->int_ptr_ptr\",exp=\"\\*\\*weird->int_ptr_ptr\",numchild=\"0\",type=\"int\"\}\\\]" \
647 "get children of weird->int_ptr_ptr.*weird->int_ptr_ptr"
648
649 # Test: c_variable-4.94
650 # Desc: number of children of *(weird->int_ptr_ptr)
651 mi_gdb_test "-var-info-num-children weird->int_ptr_ptr.*weird->int_ptr_ptr" \
652 "\\^done,numchild=\"1\"" \
653 "get number of children of weird->int_ptr_ptr.*weird->int_ptr_ptr"
654
655 # Test: c_variable-4.95
656 # Desc: children of *(*(weird->int_ptr_ptr))
657 mi_gdb_test "-var-list-children weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr" \
658 "\\^done,numchild=\"0\"" \
659 "get children of weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr"
660
661 # Test: c_variable-4.96
662 # Desc: number of children of *(*(weird->int_ptr_ptr))
663 mi_gdb_test "-var-info-num-children weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr" \
664 "\\^done,numchild=\"0\"" \
665 "get number of children of weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr"
666
667 # Test: c_variable-4.97
668 # Desc: is weird editable
669 mi_gdb_test "-var-show-attributes weird" \
670 "\\^done,attr=\"editable\"" \
671 "is weird editable"
672
673 # Test: c_variable-4.98
674 # Desc: is weird->int_ptr_ptr editable
675 mi_gdb_test "-var-show-attributes weird->int_ptr_ptr" \
676 "\\^done,attr=\"editable\"" \
677 "is weird->int_ptr_ptr editable"
678
679 # Test: c_variable-4.99
680 # Desc: is *(weird->int_ptr_ptr) editable
681 mi_gdb_test "-var-show-attributes weird.int_ptr_ptr.*int_ptr_ptr" \
682 "\\^done,attr=\"editable\"" \
683 "is weird.int_ptr_ptr.*int_ptr_ptr editable"
684
685 # Test: c_variable-4.100
686 # Desc: is *(*(weird->int_ptr_ptr)) editable
687 mi_gdb_test "-var-show-attributes weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr" \
688 "\\^done,attr=\"editable\"" \
689 "is weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr editable"
690
691 # Test: c_variable-4.101
692 # Desc: is weird->u1 editable
693 mi_gdb_test "-var-show-attributes weird.u1" \
694 "\\^done,attr=\"noneditable\"" \
695 "is weird.u1 editable"
696
697 # Test: c_variable-4.102
698 # Desc: is weird->s2 editable
699 mi_gdb_test "-var-show-attributes weird.s2" \
700 "\\^done,attr=\"noneditable\"" \
701 "is weird.s2 editable"
702
703 # Test: c_variable-4.103
704 # Desc: is struct_declarations.u1.a editable
705 mi_gdb_test "-var-show-attributes struct_declarations.u1.a" \
706 "\\^done,attr=\"editable\"" \
707 "is struct_declarations.u1.a editable"
708
709 # Test: c_variable-4.104
710 # Desc: is struct_declarations.u1.b editable
711 mi_gdb_test "-var-show-attributes struct_declarations.u1.b" \
712 "\\^done,attr=\"editable\"" \
713 "is struct_declarations.u1.b editable"
714
715 # Test: c_variable-4.105
716 # Desc: is struct_declarations.u1.c editable
717 mi_gdb_test "-var-show-attributes struct_declarations.u1.c" \
718 "\\^done,attr=\"editable\"" \
719 "is struct_declarations.u1.c editable"
720
721 # Test: c_variable-4.106
722 # Desc: is struct_declarations.long_array editable
723 mi_gdb_test "-var-show-attributes struct_declarations.long_array" \
724 "\\^done,attr=\"noneditable\"" \
725 "is struct_declarations.long_array editable"
726
727 # Test: c_variable-4.107
728 # Desc: is struct_declarations.long_array[0] editable
729 mi_gdb_test "-var-show-attributes struct_declarations.long_array.0" \
730 "\\^done,attr=\"editable\"" \
731 "is struct_declarations.long_array.0 editable"
732
733 # Test: c_variable-4.108
734 # Desc: is struct_declarations editable
735 mi_gdb_test "-var-show-attributes struct_declarations" \
736 "\\^done,attr=\"noneditable\"" \
737 "is struct_declarations editable"
738
739 mi_gdb_test "-var-delete weird" \
740 "\\^done,ndeleted=\"24\"" \
741 "delete var weird"
742
743 ##### #####
744 # #
745 # children and update tests #
746 # #
747 ##### #####
748
749 # Test: c_variable-5.1
750 # Desc: check that nothing changed
751 mi_gdb_test "-var-update *" \
752 "\\^done,changelist=\\\[\\\]" \
753 "update all vars. None changed"
754
755 # Step over "struct_declarations.integer = 123;"
756 mi_step_to do_children_tests {} {.*var-cmd.c} \
757 [expr $line_dct_123 + 1] "step \$line_dct_123 + 1"
758
759 # Test: c_variable-5.2
760 # Desc: check that integer changed
761 mi_gdb_test "-var-update *" \
762 "\\^done,changelist=\\\[\{name=\"struct_declarations.integer\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
763 "update all vars struct_declarations.integer"
764
765 # Step over:
766 # weird->char_ptr = "hello";
767 # bar = 2121;
768 # foo = &bar;
769 mi_execute_to "exec-step 3" "end-stepping-range" do_children_tests {} {.*var-cmd.c} \
770 [expr $line_dct_123 + 4] {} "step \$line_dct_123 + 4"
771
772 # Test: c_variable-5.3
773 # Desc: check that char_ptr changed
774 mi_gdb_test "-var-update *" \
775 "\\^done,changelist=\\\[\{name=\"struct_declarations.char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.char_ptr.\\*char_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
776 "update all vars struct_declarations.char_ptr"
777
778 # Step over "struct_declarations.int_ptr_ptr = &foo;"
779 mi_step_to do_children_tests {} {.*var-cmd.c} \
780 [expr $line_dct_123 + 5] "step \$line_dct_123 + 5"
781
782 # Test: c_variable-5.4
783 # Desc: check that int_ptr_ptr and children changed
784 mi_gdb_test "-var-update *" \
785 "\\^done,changelist=\\\[\{name=\"weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr.\\*\\*weird->int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr.\\*\\*int_ptr_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
786 "update all vars int_ptr_ptr and children changed"
787
788 # Step over "weird->long_array[0] = 1234;"
789 mi_step_to do_children_tests {} {.*var-cmd.c} \
790 [expr $line_dct_123 + 6] "step \$line_dct_123 + 6"
791
792 # Test: c_variable-5.5
793 # Desc: check that long_array[0] changed
794 mi_gdb_test "-var-update *" \
795 "\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.0\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
796 "update all vars struct_declarations.long_array.0 changed"
797
798 # Step over "struct_declarations.long_array[1] = 2345;"
799 mi_step_to do_children_tests {} {.*var-cmd.c} \
800 [expr $line_dct_123 + 7] "step \$line_dct_123 + 7"
801
802 # Test: c_variable-5.6
803 # Desc: check that long_array[1] changed
804 mi_gdb_test "-var-update *" \
805 "\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.1\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
806 "update all vars struct_declarations.long_array.1 changed"
807
808 # Step over "weird->long_array[2] = 3456;"
809 mi_step_to do_children_tests {} {.*var-cmd.c} \
810 [expr $line_dct_123 + 8] "step \$line_dct_123 + 8"
811
812 # Test: c_variable-5.7
813 # Desc: check that long_array[2] changed
814 mi_gdb_test "-var-update *" \
815 "\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.2\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
816 "update all vars struct_declarations.long_array.2 changed"
817
818 # Step over:
819 # struct_declarations.long_array[3] = 4567;
820 # weird->long_array[4] = 5678;
821 # struct_declarations.long_array[5] = 6789;
822 # weird->long_array[6] = 7890;
823 # struct_declarations.long_array[7] = 8901;
824 # weird->long_array[8] = 9012;
825 # struct_declarations.long_array[9] = 1234;
826
827 set line_dct_nothing [gdb_get_line_number "weird->func_ptr = nothing;"]
828 mi_execute_to "exec-step 7" "end-stepping-range" do_children_tests {} {.*var-cmd.c} \
829 $line_dct_nothing {} "step \$line_dct_nothing"
830
831 # Test: c_variable-5.8
832 # Desc: check that long_array[3-9] changed
833 mi_gdb_test "-var-update *" \
834 "\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.3\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.long_array.4\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.long_array.5\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.long_array.6\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.long_array.7\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.long_array.8\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"struct_declarations.long_array.9\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
835 "update all vars struct_declarations.long_array.3-9 changed"
836
837
838 # Step over "weird->func_ptr = nothing;"
839 set line_dct_a0_0 [gdb_get_line_number "a0 = '0';"]
840 mi_step_to do_children_tests {} {.*var-cmd.c} \
841 $line_dct_a0_0 "step \$line_dct_a0_0"
842
843 # Test: c_variable-5.9
844 # Desc: check that func_ptr changed
845 mi_gdb_test "-var-update *" \
846 "\\^done,changelist=\\\[\{name=\"struct_declarations.func_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
847 "update all vars struct_declarations.func_ptr changed"
848
849 # Delete all variables
850 mi_gdb_test "-var-delete struct_declarations" \
851 "\\^done,ndeleted=\"65\"" \
852 "delete var struct_declarations"
853
854 mi_gdb_test "-var-delete weird->int_ptr_ptr" \
855 "\\^done,ndeleted=\"3\"" \
856 "delete var weird->int_ptr_ptr"
857
858 # Step over all lines:
859 # ...
860 # psnp = &snp0;
861
862 set line_dct_snp0 [gdb_get_line_number "psnp = &snp0;"]
863 mi_execute_to "exec-step 43" "end-stepping-range" do_children_tests {} {.*var-cmd.c} \
864 [expr $line_dct_snp0 + 1] {} "step \$line_dct_snp0 + 1"
865
866 # Test: c_variable-5.10
867 # Desc: create psnp->char_ptr
868 mi_gdb_test "-var-create psnp->char_ptr * psnp->char_ptr" \
869 "\\^done,name=\"psnp->char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\\*\"" \
870 "create local variable psnp->char_ptr"
871
872 # Test: c_variable-5.11
873 # Desc: children of psnp->char_ptr
874 mi_gdb_test "-var-list-children psnp->char_ptr" \
875 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->char_ptr.\\*psnp->char_ptr\",exp=\"\\*psnp->char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\"\}\\\]" \
876 "get children of psnp->char_ptr"
877
878 # Test: c_variable-5.12
879 # Desc: number of children of psnp->char_ptr
880 mi_gdb_test "-var-info-num-children psnp->char_ptr" \
881 "\\^done,numchild=\"1\"" \
882 "get number of children of psnp->char_ptr"
883
884 # Test: c_variable-5.13
885 # Desc: children of *(psnp->char_ptr)
886 mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr" \
887 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr\",exp=\"\\*\\*psnp->char_ptr\",numchild=\"1\",type=\"char \\*\\*\"\}\\\]" \
888 "get children of psnp->char_ptr.*psnp->char_ptr"
889
890 # Test: c_variable-5.14
891 # Desc: number of children of *(psnp->char_ptr)
892 mi_gdb_test "-var-info-num-children psnp->char_ptr.*psnp->char_ptr" \
893 "\\^done,numchild=\"1\"" \
894 "get number of children of psnp->char_ptr.*psnp->char_ptr"
895
896 # Test: c_variable-5.15
897 # Desc: children of *(*(psnp->char_ptr))
898 mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr" \
899 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr\",exp=\"\\*\\*\\*psnp->char_ptr\",numchild=\"1\",type=\"char \\*\"\}\\\]" \
900 "get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr"
901
902 # Test: c_variable-5.15B
903 # Desc: children of *(*(*(psnp->char_ptr)))
904 mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr" \
905 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr.\\*\\*\\*\\*psnp->char_ptr\",exp=\"\\*\\*\\*\\*psnp->char_ptr\",numchild=\"0\",type=\"char\"\}\\\]" \
906 "get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr"
907
908 # Test: c_variable-5.16
909 # Desc: number of children of *(*(psnp->char_ptr))
910 mi_gdb_test "-var-info-num-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr" \
911 "\\^done,numchild=\"1\"" \
912 "get number of children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr"
913
914 # Test: c_variable-5.17
915 # Desc: children of *(*(*(psnp->char_ptr)))
916 mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr" \
917 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr.\\*\\*\\*\\*psnp->char_ptr\",exp=\"\\*\\*\\*\\*psnp->char_ptr\",numchild=\"0\",type=\"char\"\}\\\]" \
918 "get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr"
919
920 # Test: c_variable-5.18
921 # Desc: number of children of *(*(*(psnp->char_ptr)))
922 mi_gdb_test "-var-info-num-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr" \
923 "\\^done,numchild=\"1\"" \
924 "get number of children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr"
925
926 # Test: c_variable-5.17B
927 # Desc: children of *(*(*(*(psnp->char_ptr))))
928 mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr" \
929 "\\^done,numchild=\"0\"" \
930 "get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr"
931
932 # Test: c_variable-5.18B
933 # Desc: number of children of *(*(*(*(psnp->char_ptr))))
934 mi_gdb_test "-var-info-num-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr" \
935 "\\^done,numchild=\"0\"" \
936 "get number of children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr"
937
938
939 # Test: c_variable-5.19
940 # Desc: create psnp->long_ptr
941 mi_gdb_test "-var-create psnp->long_ptr * psnp->long_ptr" \
942 "\\^done,name=\"psnp->long_ptr\",numchild=\"1\",type=\"long int \\*\\*\\*\\*\"" \
943 "create local variable psnp->long_ptr"
944
945 # Test: c_variable-5.20
946 # Desc: children of psnp->long_ptr
947 mi_gdb_test "-var-list-children psnp->long_ptr" \
948 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->long_ptr.\\*psnp->long_ptr\",exp=\"\\*psnp->long_ptr\",numchild=\"1\",type=\"long int \\*\\*\\*\"\}\\\]" \
949 "get children of psnp->long_ptr"
950
951 # Test: c_variable-5.21
952 # Desc: number of children of psnp->long_ptr
953 mi_gdb_test "-var-info-num-children psnp->long_ptr" \
954 "\\^done,numchild=\"1\"" \
955 "get number of children of psnp->long_ptr"
956
957 # Test: c_variable-5.22
958 # Desc: children of *(psnp->long_ptr)
959 mi_gdb_test "-var-list-children psnp->long_ptr.*psnp->long_ptr" \
960 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr\",exp=\"\\*\\*psnp->long_ptr\",numchild=\"1\",type=\"long int \\*\\*\"\}\\\]" \
961 "get children of psnp->long_ptr.*psnp->long_ptr"
962
963
964 # Test: c_variable-5.23
965 # Desc: number of children of *(psnp->long_ptr)
966 mi_gdb_test "-var-info-num-children psnp->long_ptr.*psnp->long_ptr" \
967 "\\^done,numchild=\"1\"" \
968 "get number of children of psnp->long_ptr.*psnp->long_ptr"
969
970 # Test: c_variable-5.24
971 # Desc: children of *(*(psnp->long_ptr))
972 mi_gdb_test "-var-list-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr" \
973 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr\",exp=\"\\*\\*\\*psnp->long_ptr\",numchild=\"1\",type=\"long int \\*\"\}\\\]" \
974 "get children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr"
975
976 # Test: c_variable-5.25
977 # Desc: number of children of *(*(psnp->long_ptr))
978 mi_gdb_test "-var-info-num-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr" \
979 "\\^done,numchild=\"1\"" \
980 "get number of children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr"
981
982 # Test: c_variable-5.26
983 # Desc: children of *(*(*(psnp->long_ptr)))
984 mi_gdb_test "-var-list-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr" \
985 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr.\\*\\*\\*\\*psnp->long_ptr\",exp=\"\\*\\*\\*\\*psnp->long_ptr\",numchild=\"0\",type=\"long int\"\}\\\]" \
986 "get children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr"
987
988 # Test: c_variable-5.27
989 # Desc: number of children of *(*(*(psnp->long_ptr)))
990 mi_gdb_test "-var-info-num-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr" \
991 "\\^done,numchild=\"1\"" \
992 "get number of children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr"
993
994 # Test: c_variable-5.28
995 # Desc: children of *(*(*(*(psnp->long_ptr))))
996 mi_gdb_test "-var-list-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr" \
997 "\\^done,numchild=\"0\"" \
998 "get children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr"
999
1000 # Test: c_variable-5.29
1001 # Desc: number of children of *(*(*(*(psnp->long_ptr))))
1002 mi_gdb_test "-var-info-num-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr" \
1003 "\\^done,numchild=\"0\"" \
1004 "get number of children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr"
1005
1006 # Test: c_variable-5.30
1007 # Desc: create psnp->ptrs
1008 mi_gdb_test "-var-create psnp->ptrs * psnp->ptrs" \
1009 "\\^done,name=\"psnp->ptrs\",numchild=\"3\",type=\"struct _struct_n_pointer \\*\\\[3\\\]\"" \
1010 "create local variable psnp->ptrs"
1011
1012 # Test: c_variable-5.31
1013 # Desc: children of psnp->ptrs
1014 mi_gdb_test "-var-list-children psnp->ptrs" \
1015 "\\^done,numchild=\"3\",children=\\\[child=\{name=\"psnp->ptrs.0\",exp=\"0\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\},child=\{name=\"psnp->ptrs.1\",exp=\"1\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\},child=\{name=\"psnp->ptrs.2\",exp=\"2\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\}\\\]" \
1016 "get children of psnp->ptrs"
1017
1018 # Test: c_variable-5.32
1019 # Desc: number of children of psnp->ptrs
1020 mi_gdb_test "-var-info-num-children psnp->ptrs" \
1021 "\\^done,numchild=\"3\"" \
1022 "get number of children of psnp->ptrs"
1023
1024 # Test: c_variable-5.33
1025 # Desc: children of psnp->ptrs[0]
1026 mi_gdb_test "-var-list-children psnp->ptrs.0" \
1027 "\\^done,numchild=\"4\",children=\\\[child=\{name=\"psnp->ptrs.0.char_ptr\",exp=\"char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\\*\"\},child=\{name=\"psnp->ptrs.0.long_ptr\",exp=\"long_ptr\",numchild=\"1\",type=\"long int \\*\\*\\*\\*\"\},child=\{name=\"psnp->ptrs.0.ptrs\",exp=\"ptrs\",numchild=\"3\",type=\"struct _struct_n_pointer \\*\\\[3\\\]\"\},child=\{name=\"psnp->ptrs.0.next\",exp=\"next\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\}\\\]" \
1028 "get children of psnp->ptrs.0"
1029
1030 # Test: c_variable-5.34
1031 # Desc: number of children of psnp->ptrs[0]
1032 mi_gdb_test "-var-info-num-children psnp->ptrs.0" \
1033 "\\^done,numchild=\"4\"" \
1034 "get number of children of psnp->ptrs.0"
1035
1036 # Test: c_variable-5.35
1037 # Desc: children of psnp->ptrs[0]->next
1038 mi_gdb_test "-var-list-children psnp->ptrs.0.next" \
1039 "\\^done,numchild=\"4\",children=\\\[child=\{name=\"psnp->ptrs.0.next.char_ptr\",exp=\"char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\\*\"\},child=\{name=\"psnp->ptrs.0.next.long_ptr\",exp=\"long_ptr\",numchild=\"1\",type=\"long int \\*\\*\\*\\*\"\},child=\{name=\"psnp->ptrs.0.next.ptrs\",exp=\"ptrs\",numchild=\"3\",type=\"struct _struct_n_pointer \\*\\\[3\\\]\"\},child=\{name=\"psnp->ptrs.0.next.next\",exp=\"next\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\}\\\]" \
1040 "get children of psnp->ptrs.0.next"
1041
1042 #} {char_ptr long_ptr ptrs next}
1043
1044 # Test: c_variable-5.36
1045 # Desc: number of children of psnp->ptrs[0]->next
1046 mi_gdb_test "-var-info-num-children psnp->ptrs.0.next" \
1047 "\\^done,numchild=\"4\"" \
1048 "get number of children of psnp->ptrs.0.next"
1049
1050
1051 # Test: c_variable-5.37
1052 # Desc: children of psnp->ptrs[0]->next->char_ptr
1053 mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr" \
1054 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr\",exp=\"\\*char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\"\}\\\]" \
1055 "get children of psnp->ptrs.0.next.char_ptr"
1056
1057 #gdbtk_test c_variable-5.37 {children of psnp->ptrs[0]->next->char_ptr} {
1058 # get_children psnp->ptrs.0.next.char_ptr
1059 #} {*char_ptr}
1060
1061 # Test: c_variable-5.38
1062 # Desc: number of children of psnp->ptrs[0]->next->char_ptr
1063 mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr" \
1064 "\\^done,numchild=\"1\"" \
1065 "get number of children of psnp->ptrs.0.next.char_ptr"
1066
1067 # Test: c_variable-5.39
1068 # Desc: children of *psnp->ptrs[0]->next->char_ptr
1069 mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr" \
1070 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr\",exp=\"\\*\\*char_ptr\",numchild=\"1\",type=\"char \\*\\*\"\}\\\]" \
1071 "get children of psnp->ptrs.0.next.char_ptr.*char_ptr"
1072
1073 # Test: c_variable-5.40
1074 # Desc: number of children of *psnp->ptrs[0]->next->char_ptr
1075 mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr.*char_ptr" \
1076 "\\^done,numchild=\"1\"" \
1077 "get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr"
1078
1079 # Test: c_variable-5.41
1080 # Desc: children of **psnp->ptrs[0]->next->char_ptr
1081 mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr" \
1082 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr\",exp=\"\\*\\*\\*char_ptr\",numchild=\"1\",type=\"char \\*\"\}\\\]" \
1083 "get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr"
1084
1085 # Test: c_variable-5.41B
1086 # Desc: children of ***psnp->ptrs[0]->next->char_ptr
1087 mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr" \
1088 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr.\\*\\*\\*\\*char_ptr\",exp=\"\\*\\*\\*\\*char_ptr\",numchild=\"0\",type=\"char\"\}\\\]" \
1089 "get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr"
1090
1091 # Test: c_variable-5.42
1092 # Desc: number of children of **psnp->ptrs[0]->next->char_ptr
1093 mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr" \
1094 "\\^done,numchild=\"1\"" \
1095 "get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr"
1096
1097 # Test: c_variable-5.43
1098 # Desc: children of ***psnp->ptrs[0]->next->char_ptr
1099 mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr" \
1100 "\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr.\\*\\*\\*\\*char_ptr\",exp=\"\\*\\*\\*\\*char_ptr\",numchild=\"0\",type=\"char\"\}\\\]" \
1101 "get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr"
1102
1103 # Test: c_variable-5.44
1104 # Desc: number of children of ***psnp->ptrs[0]->next->char_ptr
1105 mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr" \
1106 "\\^done,numchild=\"1\"" \
1107 "get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr"
1108
1109 # Test: c_variable-5.43B
1110 # Desc: children of ****psnp->ptrs[0]->next->char_ptr
1111 mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr" \
1112 "\\^done,numchild=\"0\"" \
1113 "get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr"
1114
1115 # Test: c_variable-5.44B
1116 # Desc: number of children of ****psnp->ptrs[0]->next->char_ptr
1117 mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr" \
1118 "\\^done,numchild=\"0\"" \
1119 "get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr"
1120
1121 # Test: c_variable-5.45
1122 # Desc: children of psnp->ptrs[0]->next->next
1123 mi_gdb_test "-var-list-children psnp->ptrs.0.next.next" \
1124 "\\^done,numchild=\"4\",children=\\\[child=\{name=\"psnp->ptrs.0.next.next.char_ptr\",exp=\"char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\\*\"\},child=\{name=\"psnp->ptrs.0.next.next.long_ptr\",exp=\"long_ptr\",numchild=\"1\",type=\"long int \\*\\*\\*\\*\"\},child=\{name=\"psnp->ptrs.0.next.next.ptrs\",exp=\"ptrs\",numchild=\"3\",type=\"struct _struct_n_pointer \\*\\\[3\\\]\"\},child=\{name=\"psnp->ptrs.0.next.next.next\",exp=\"next\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\}\\\]" \
1125 "get children of psnp->ptrs.0.next.next"
1126
1127 # Test: c_variable-5.46
1128 # Desc: children of psnp->ptrs[0]->next->next->ptrs
1129 mi_gdb_test "-var-list-children psnp->ptrs.0.next.next.ptrs" \
1130 "\\^done,numchild=\"3\",children=\\\[child=\{name=\"psnp->ptrs.0.next.next.ptrs.0\",exp=\"0\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\},child=\{name=\"psnp->ptrs.0.next.next.ptrs.1\",exp=\"1\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\},child=\{name=\"psnp->ptrs.0.next.next.ptrs.2\",exp=\"2\",numchild=\"4\",type=\"struct _struct_n_pointer \\*\"\}\\\]" \
1131 "get children of psnp->ptrs.0.next.next.ptrs"
1132
1133 # Step over "snp0.char_ptr = &b3;"
1134 mi_step_to do_children_tests {} {.*var-cmd.c} \
1135 [expr $line_dct_snp0 + 2] "step \$line_dct_snp0 + 2"
1136
1137 # Test: c_variable-5.47
1138 # Desc: check that psnp->char_ptr (and [0].char_ptr) changed
1139 mi_gdb_test "-var-update *" \
1140 "\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr.\\*\\*\\*psnp->char_ptr.\\*\\*\\*\\*psnp->char_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
1141 "update all vars psnp->char_ptr (and 0.char_ptr) changed"
1142
1143 # Step over "snp1.char_ptr = &c3;"
1144 mi_step_to do_children_tests {} {.*var-cmd.c} \
1145 [expr $line_dct_snp0 + 3] "step \$line_dct_snp0 + 3"
1146
1147 # Test: c_variable-5.48
1148 # Desc: check that psnp->next->char_ptr (and [1].char_ptr) changed
1149 mi_gdb_test "-var-update *" \
1150 "\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr.\\*\\*\\*char_ptr.\\*\\*\\*\\*char_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
1151 "update all vars psnp->next->char_ptr (and 1.char_ptr) changed"
1152
1153
1154 # Step over "snp2.char_ptr = &a3;"
1155 mi_step_to do_children_tests {} {.*var-cmd.c} \
1156 [expr $line_dct_snp0 + 4] "step \$line_dct_snp0 + 4"
1157
1158 # Test: c_variable-5.49
1159 # Desc: check that psnp->next->next->char_ptr (and [2].char_ptr) changed
1160 mi_gdb_test "-var-update *" \
1161 "\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.next.char_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
1162 "update all vars psnp->next->next->char_ptr (and 2.char_ptr) changed"
1163
1164
1165 # Step over "snp0.long_ptr = &y3;"
1166 mi_step_to do_children_tests {} {.*var-cmd.c} \
1167 [expr $line_dct_snp0 + 5] "step \$line_dct_snp0 + 5"
1168
1169 # Test: c_variable-5.50
1170 # Desc: check that psnp->long_ptr (and [0].long_ptr) changed
1171 mi_gdb_test "-var-update *" \
1172 "\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.long_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\"\},\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr.\\*\\*\\*psnp->long_ptr.\\*\\*\\*\\*psnp->long_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
1173 "update all vars psnp->long_ptr (and 0.long_ptr) changed"
1174
1175
1176 # Step over "snp1.long_ptr = &x3;"
1177 mi_step_to do_children_tests {} {.*var-cmd.c} \
1178 [expr $line_dct_snp0 + 6] "step \$line_dct_snp0 + 6"
1179
1180 # Test: c_variable-5.51
1181 # Desc: check that psnp->next->long_ptr (and [1].long_ptr) changed
1182 # Why does this have a FIXME?
1183 setup_xfail *-*-*
1184 mi_gdb_test "-var-update *" \
1185 "FIXME\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.long_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
1186 "update all vars psnp->next->long_ptr (and 1.long_ptr) changed"
1187 clear_xfail *-*-*
1188
1189 # This command produces this error message:
1190 # &"warning: varobj_list: assertion failed - mycount <> 0\n"
1191 #
1192
1193 # Step over "snp2.long_ptr = &z3;"
1194 mi_step_to do_children_tests {} {.*var-cmd.c} \
1195 [expr $line_dct_snp0 + 7] "step \$line_dct_snp0 + 7"
1196
1197 # Test: c_variable-5.52
1198 # Desc: check that psnp->next->next->long_ptr (and [2].long_ptr) changed
1199 mi_gdb_test "-var-update *" \
1200 "\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.next.long_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
1201 "update all vars psnp->next->next->long_ptr (and 2.long_ptr) changed"
1202
1203
1204
1205
1206 mi_gdb_exit
1207 return 0
This page took 0.096529 seconds and 5 git commands to generate.