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