daily update
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.mi / mi2-var-child.exp
CommitLineData
469aff8e 1# Copyright 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
2fcf52f0
AC
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
2fcf52f0
AC
17# Test essential Machine interface (MI) operations
18#
19# Verify that, using the MI, we can create, update, delete variables.
20#
21
22
23load_lib mi-support.exp
24set MIFLAGS "-i=mi2"
25
26gdb_exit
27if [mi_gdb_start] {
28 continue
29}
30
31set testfile "var-cmd"
32set srcfile ${testfile}.c
33set binfile ${objdir}/${subdir}/${testfile}
34if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DFAKEARGV}] != "" } {
b60f0898
JB
35 untested mi2-var-child.exp
36 return -1
2fcf52f0
AC
37}
38
39mi_delete_breakpoints
40mi_gdb_reinitialize_dir $srcdir/$subdir
41mi_gdb_load ${binfile}
42
43mi_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"
3fddb3ad
NR
54mi_gdb_test "-var-create struct_declarations * struct_declarations" \
55 "\\^done,name=\"struct_declarations\",numchild=\"11\",value=\"{...}\",type=\"struct _struct_decl\"" \
56 "create local variable struct_declarations"
2fcf52f0
AC
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.
62mi_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
72mi_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
78mi_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
84mi_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
90mi_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
96mi_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
102mi_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
108mi_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
114mi_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
120mi_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
126mi_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
136mi_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
143mi_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
149mi_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
155mi_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
162mi_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
169mi_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
175mi_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
182mi_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
188mi_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
195mi_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
201mi_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
207mi_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
216mi_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
223mi_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
229mi_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
235mi_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
241mi_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
247mi_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
253mi_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
259mi_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
265mi_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
271mi_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
277mi_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
283mi_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
289mi_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
295mi_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
301mi_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
307mi_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
313mi_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
320mi_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
326mi_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
332mi_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
338mi_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
344mi_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
350mi_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
356mi_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
362mi_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
368mi_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
375mi_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
382mi_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
388mi_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
394mi_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
400mi_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
407mi_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
413mi_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
420mi_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
426mi_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
432mi_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
438mi_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
444mi_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
450mi_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
456mi_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
462mi_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
468mi_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
474mi_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
480mi_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
486mi_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
493mi_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
499mi_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
506mi_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
512mi_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
519mi_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
525mi_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
531mi_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
537mi_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
543mi_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
550mi_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;"
469aff8e
MC
556set line_dct_123 [gdb_get_line_number "struct_declarations.integer = 123;"]
557mi_step_to do_children_tests {} {.*var-cmd.c} \
558 $line_dct_123 "step to line \$line_dct_123"
2fcf52f0
AC
559
560# Test: c_variable-4.81
561# Desc: create local variable "weird"
3fddb3ad
NR
562mi_gdb_test "-var-create weird * weird" \
563 "\\^done,name=\"weird\",numchild=\"11\",value=\"$hex\",type=\"weird_struct \\*\"" \
564 "create local variable weird"
2fcf52f0
AC
565
566# Test: c_variable-4.82
567# Desc: children of weird
568mi_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
574mi_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
581mi_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
590mi_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
596mi_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
605mi_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
611mi_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
620mi_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
3fddb3ad
NR
626mi_gdb_test "-var-create weird->int_ptr_ptr * weird->int_ptr_ptr" \
627 "\\^done,name=\"weird->int_ptr_ptr\",numchild=\"1\",value=\"$hex\",type=\"int \\*\\*\"" \
628 "create local variable weird->int_ptr_ptr"
2fcf52f0
AC
629
630# Test: c_variable-4.91
631# Desc: children of weird->int_ptr_ptr
632mi_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)
639mi_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)
645mi_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)
651mi_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))
657mi_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))
663mi_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
669mi_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
675mi_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
681mi_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
687mi_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
693mi_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
699mi_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
705mi_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
711mi_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
717mi_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
723mi_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
729mi_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
735mi_gdb_test "-var-show-attributes struct_declarations" \
736 "\\^done,attr=\"noneditable\"" \
737 "is struct_declarations editable"
738
739mi_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
751mi_gdb_test "-var-update *" \
752 "\\^done,changelist=\\\[\\\]" \
753 "update all vars. None changed"
754
755# Step over "struct_declarations.integer = 123;"
469aff8e
MC
756mi_step_to do_children_tests {} {.*var-cmd.c} \
757 [expr $line_dct_123 + 1] "step \$line_dct_123 + 1"
2fcf52f0
AC
758
759# Test: c_variable-5.2
760# Desc: check that integer changed
761mi_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;
469aff8e
MC
769mi_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"
2fcf52f0
AC
771
772# Test: c_variable-5.3
773# Desc: check that char_ptr changed
774mi_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;"
469aff8e
MC
779mi_step_to do_children_tests {} {.*var-cmd.c} \
780 [expr $line_dct_123 + 5] "step \$line_dct_123 + 5"
2fcf52f0
AC
781
782# Test: c_variable-5.4
783# Desc: check that int_ptr_ptr and children changed
784mi_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;"
469aff8e
MC
789mi_step_to do_children_tests {} {.*var-cmd.c} \
790 [expr $line_dct_123 + 6] "step \$line_dct_123 + 6"
2fcf52f0
AC
791
792# Test: c_variable-5.5
793# Desc: check that long_array[0] changed
794mi_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;"
469aff8e
MC
799mi_step_to do_children_tests {} {.*var-cmd.c} \
800 [expr $line_dct_123 + 7] "step \$line_dct_123 + 7"
2fcf52f0
AC
801
802# Test: c_variable-5.6
803# Desc: check that long_array[1] changed
804mi_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;"
469aff8e
MC
809mi_step_to do_children_tests {} {.*var-cmd.c} \
810 [expr $line_dct_123 + 8] "step \$line_dct_123 + 8"
2fcf52f0
AC
811
812# Test: c_variable-5.7
813# Desc: check that long_array[2] changed
814mi_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;
469aff8e
MC
826
827set line_dct_nothing [gdb_get_line_number "weird->func_ptr = nothing;"]
828mi_execute_to "exec-step 7" "end-stepping-range" do_children_tests {} {.*var-cmd.c} \
829 $line_dct_nothing {} "step \$line_dct_nothing"
2fcf52f0
AC
830
831# Test: c_variable-5.8
832# Desc: check that long_array[3-9] changed
833mi_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;"
469aff8e
MC
839set line_dct_a0_0 [gdb_get_line_number "a0 = '0';"]
840mi_step_to do_children_tests {} {.*var-cmd.c} \
841 $line_dct_a0_0 "step \$line_dct_a0_0"
2fcf52f0
AC
842
843# Test: c_variable-5.9
844# Desc: check that func_ptr changed
845mi_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
850mi_gdb_test "-var-delete struct_declarations" \
851 "\\^done,ndeleted=\"65\"" \
852 "delete var struct_declarations"
853
854mi_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;
469aff8e
MC
861
862set line_dct_snp0 [gdb_get_line_number "psnp = &snp0;"]
863mi_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"
2fcf52f0
AC
865
866# Test: c_variable-5.10
867# Desc: create psnp->char_ptr
3fddb3ad
NR
868mi_gdb_test "-var-create psnp->char_ptr * psnp->char_ptr" \
869 "\\^done,name=\"psnp->char_ptr\",numchild=\"1\",value=\".*\",type=\"char \\*\\*\\*\\*\"" \
870 "create local variable psnp->char_ptr"
2fcf52f0
AC
871
872# Test: c_variable-5.11
873# Desc: children of psnp->char_ptr
874mi_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
880mi_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)
886mi_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)
892mi_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))
898mi_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)))
904mi_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))
910mi_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)))
916mi_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)))
922mi_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))))
928mi_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))))
934mi_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
3fddb3ad
NR
941mi_gdb_test "-var-create psnp->long_ptr * psnp->long_ptr" \
942 "\\^done,name=\"psnp->long_ptr\",numchild=\"1\",value=\"$hex\",type=\"long int \\*\\*\\*\\*\"" \
943 "create local variable psnp->long_ptr"
2fcf52f0
AC
944
945# Test: c_variable-5.20
946# Desc: children of psnp->long_ptr
947mi_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
953mi_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)
959mi_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)
966mi_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))
972mi_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))
978mi_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)))
984mi_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)))
990mi_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))))
996mi_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))))
1002mi_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
3fddb3ad
NR
1008mi_gdb_test "-var-create psnp->ptrs * psnp->ptrs" \
1009 "\\^done,name=\"psnp->ptrs\",numchild=\"3\",value=\"\\\[3\\\]\",type=\"struct _struct_n_pointer \\*\\\[3\\\]\"" \
1010 "create local variable psnp->ptrs"
2fcf52f0
AC
1011
1012# Test: c_variable-5.31
1013# Desc: children of psnp->ptrs
1014mi_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
1020mi_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]
1026mi_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]
1032mi_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
1038mi_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
1046mi_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
1053mi_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
1063mi_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
1069mi_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
1075mi_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
1081mi_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
1087mi_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
1093mi_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
1099mi_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
1105mi_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
1111mi_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
1117mi_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
1123mi_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
1129mi_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;"
469aff8e
MC
1134mi_step_to do_children_tests {} {.*var-cmd.c} \
1135 [expr $line_dct_snp0 + 2] "step \$line_dct_snp0 + 2"
2fcf52f0
AC
1136
1137# Test: c_variable-5.47
1138# Desc: check that psnp->char_ptr (and [0].char_ptr) changed
1139mi_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;"
469aff8e
MC
1144mi_step_to do_children_tests {} {.*var-cmd.c} \
1145 [expr $line_dct_snp0 + 3] "step \$line_dct_snp0 + 3"
2fcf52f0
AC
1146
1147# Test: c_variable-5.48
1148# Desc: check that psnp->next->char_ptr (and [1].char_ptr) changed
1149mi_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;"
469aff8e
MC
1155mi_step_to do_children_tests {} {.*var-cmd.c} \
1156 [expr $line_dct_snp0 + 4] "step \$line_dct_snp0 + 4"
2fcf52f0
AC
1157
1158# Test: c_variable-5.49
1159# Desc: check that psnp->next->next->char_ptr (and [2].char_ptr) changed
1160mi_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;"
469aff8e
MC
1166mi_step_to do_children_tests {} {.*var-cmd.c} \
1167 [expr $line_dct_snp0 + 5] "step \$line_dct_snp0 + 5"
2fcf52f0
AC
1168
1169# Test: c_variable-5.50
1170# Desc: check that psnp->long_ptr (and [0].long_ptr) changed
1171mi_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;"
469aff8e
MC
1177mi_step_to do_children_tests {} {.*var-cmd.c} \
1178 [expr $line_dct_snp0 + 6] "step \$line_dct_snp0 + 6"
2fcf52f0
AC
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?
1183setup_xfail *-*-*
1184mi_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"
1187clear_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;"
469aff8e
MC
1194mi_step_to do_children_tests {} {.*var-cmd.c} \
1195 [expr $line_dct_snp0 + 7] "step \$line_dct_snp0 + 7"
2fcf52f0
AC
1196
1197# Test: c_variable-5.52
1198# Desc: check that psnp->next->next->long_ptr (and [2].long_ptr) changed
1199mi_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
1206mi_gdb_exit
1207return 0
This page took 0.376973 seconds and 4 git commands to generate.