#   Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation

# This Program Is Free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu

# Test essential Machine interface (MI) operations
#
# Verify that, using the MI, we can create, update, delete variables.
#


load_lib mi-support.exp
set MIFLAGS "-i=mi"

gdb_exit
if [mi_gdb_start] {
    continue
}

set testfile "var-cmd"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DFAKEARGV}] != "" } {
    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}

mi_delete_breakpoints
mi_gdb_reinitialize_dir $srcdir/$subdir
mi_gdb_load ${binfile}

mi_runto do_children_tests

#####        #####
#                #
# children tests #
#                #
#####        #####


# Test: c_variable-4.2
# Desc: create variable "struct_declarations"
mi_gdb_test "-var-create struct_declarations * struct_declarations" \
	"\\^done,name=\"struct_declarations\",numchild=\"11\",type=\"struct _struct_decl\"" \
	"create local variable struct_declarations"

# Test: c_variable-4.3
# Desc: children of struct_declarations
# STABS doesn't give us argument types for the func ptr structs, but
# Dwarf 2 does.
mi_gdb_test "-var-list-children struct_declarations" \
	"\\^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 \{\\.\\.\\.\}\"\}\\\]" \
	"get children of struct_declarations"

#gdbtk_test c_variable-4.3 {children of struct_declarations} {
#  get_children  struct_declarations
#} {integer character char_ptr long_int int_ptr_ptr long_array func_ptr func_ptr_struct func_ptr_ptr u1 s2}

# Test: c_variable-4.4
# Desc: number of children of struct_declarations
mi_gdb_test "-var-info-num-children struct_declarations" \
	"\\^done,numchild=\"11\"" \
	"get number of children of struct_declarations"

# Test: c_variable-4.5
# Desc: children of struct_declarations.integer
mi_gdb_test "-var-list-children struct_declarations.integer" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.integer"

# Test: c_variable-4.6
# Desc: number of children of struct_declarations.integer
mi_gdb_test "-var-info-num-children struct_declarations.integer" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.integer"

# Test: c_variable-4.7
# Desc: children of struct_declarations.character
mi_gdb_test "-var-list-children struct_declarations.character" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.character"

# Test: c_variable-4.8
# Desc: number of children of struct_declarations.character
mi_gdb_test "-var-info-num-children struct_declarations.character" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.character"

# Test: c_variable-4.9
# Desc: children of struct_declarations.char_ptr
mi_gdb_test "-var-list-children struct_declarations.char_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"struct_declarations.char_ptr.\\*char_ptr\",exp=\"\\*char_ptr\",numchild=\"0\",type=\"char\"\}\\\]" \
	"get children of struct_declarations.char_ptr"

# Test: c_variable-4.10
# Desc: number of children of struct_declarations.char_ptr
mi_gdb_test "-var-info-num-children struct_declarations.char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of struct_declarations.char_ptr"

# Test: c_variable-4.11
# Desc: children of struct_declarations.long_int
mi_gdb_test "-var-list-children struct_declarations.long_int" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_int"

# Test: c_variable-4.12
# Desc: number of children of struct_declarations.long_int
mi_gdb_test "-var-info-num-children struct_declarations.long_int" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_int"

# Test: c_variable-4.13
# Desc: children of int_ptr_ptr
mi_gdb_test "-var-list-children struct_declarations.int_ptr_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"struct_declarations.int_ptr_ptr.\\*int_ptr_ptr\",exp=\"\\*int_ptr_ptr\",numchild=\"1\",type=\"int \\*\"\}\\\]" \
	"get children of struct_declarations.int_ptr_ptr"

#gdbtk_test c_variable-4.13 {children of int_ptr_ptr} {
#  get_children struct_declarations.int_ptr_ptr
#} {*int_ptr_ptr}

# Test: c_variable-4.14
# Desc: number of children of int_ptr_ptr
mi_gdb_test "-var-info-num-children struct_declarations.int_ptr_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of struct_declarations.int_ptr_ptr"


# Test: c_variable-4.15
# Desc: children of struct_declarations.long_array
mi_gdb_test "-var-list-children struct_declarations.long_array" \
	"\\^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\"\}\\\]" \
	"get children of struct_declarations.long_array"

# Test: c_variable-4.16
# Desc: number of children of struct_declarations.long_array
mi_gdb_test "-var-info-num-children struct_declarations.long_array" \
	"\\^done,numchild=\"10\"" \
	"get number of children of struct_declarations.long_array"

# Test: c_variable-4.17
# Desc: children of struct_declarations.func_ptr
mi_gdb_test "-var-list-children struct_declarations.func_ptr" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.func_ptr"


# Test: c_variable-4.18
# Desc: number of children of struct_declarations.func_ptr
mi_gdb_test "-var-info-num-children struct_declarations.func_ptr" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.func_ptr"


# Test: c_variable-4.19
# Desc: children of struct_declarations.func_ptr_struct
mi_gdb_test "-var-list-children struct_declarations.func_ptr_struct" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.func_ptr_struct"

# Test: c_variable-4.20
# Desc: number of children of struct_declarations.func_ptr_struct
mi_gdb_test "-var-info-num-children struct_declarations.func_ptr_struct" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.func_ptr_struct"


# Test: c_variable-4.21
# Desc: children of struct_declarations.func_ptr_ptr
mi_gdb_test "-var-list-children struct_declarations.func_ptr_ptr" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.func_ptr_ptr"

# Test: c_variable-4.22
# Desc: number of children of struct_declarations.func_ptr_ptr
mi_gdb_test "-var-info-num-children struct_declarations.func_ptr_ptr" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.func_ptr_ptr"


# Test: c_variable-4.23
# Desc: children of struct_declarations.u1
mi_gdb_test "-var-list-children struct_declarations.u1" \
	"\\^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\"\}\\\]" \
	"get children of struct_declarations.u1"

# Test: c_variable-4.24
# Desc: number of children of struct_declarations.u1
mi_gdb_test "-var-info-num-children struct_declarations.u1" \
	"\\^done,numchild=\"4\"" \
	"get number of children of struct_declarations.u1"

# Test: c_variable-4.25
# Desc: children of struct_declarations.s2
mi_gdb_test "-var-list-children struct_declarations.s2" \
	"\\^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\\\]\"\}\\\]" \
	"get children of struct_declarations.s2"
#gdbtk_test c_variable-4.25 {children of struct_declarations.s2} {
#  get_children struct_declarations.s2
#} {u2 g h i}

# Test: c_variable-4.26
# Desc: number of children of struct_declarations.s2
mi_gdb_test "-var-info-num-children struct_declarations.s2" \
	"\\^done,numchild=\"4\"" \
	"get number of children of struct_declarations.s2"


# Test: c_variable-4.27
# Desc: children of struct_declarations.long_array.1
mi_gdb_test "-var-list-children struct_declarations.long_array.1" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.1"

# Test: c_variable-4.28
# Desc: number of children of struct_declarations.long_array.1
mi_gdb_test "-var-info-num-children struct_declarations.long_array.1" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.1"

# Test: c_variable-4.29
# Desc: children of struct_declarations.long_array.2
mi_gdb_test "-var-list-children struct_declarations.long_array.2" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.2"

# Test: c_variable-4.30
# Desc: number of children of struct_declarations.long_array.2
mi_gdb_test "-var-info-num-children struct_declarations.long_array.2" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.2"

# Test: c_variable-4.31
# Desc: children of struct_declarations.long_array.3
mi_gdb_test "-var-list-children struct_declarations.long_array.3" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.3"

# Test: c_variable-4.32
# Desc: number of children of struct_declarations.long_array.3
mi_gdb_test "-var-info-num-children struct_declarations.long_array.3" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.3"

# Test: c_variable-4.33 
# Desc: children of struct_declarations.long_array.4
mi_gdb_test "-var-list-children struct_declarations.long_array.4" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.4"

# Test: c_variable-4.34
# Desc: number of children of struct_declarations.long_array.4
mi_gdb_test "-var-info-num-children struct_declarations.long_array.4" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.4"

# Test: c_variable-4.35
# Desc: children of struct_declarations.long_array.5
mi_gdb_test "-var-list-children struct_declarations.long_array.5" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.5"

# Test: c_variable-4.36
# Desc: number of children of struct_declarations.long_array.5
mi_gdb_test "-var-info-num-children struct_declarations.long_array.5" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.5"

# Test: c_variable-4.37
# Desc: children of struct_declarations.long_array.6
mi_gdb_test "-var-list-children struct_declarations.long_array.6" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.6"

# Test: c_variable-4.38
# Desc: number of children of struct_declarations.long_array.6
mi_gdb_test "-var-info-num-children struct_declarations.long_array.6" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.6"

# Test: c_variable-4.39
# Desc: children of struct_declarations.long_array.7
mi_gdb_test "-var-list-children struct_declarations.long_array.7" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.7"

# Test: c_variable-4.40
# Desc: number of children of struct_declarations.long_array.7
mi_gdb_test "-var-info-num-children struct_declarations.long_array.7" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.7"

# Test: c_variable-4.41
# Desc: children of struct_declarations.long_array.8
mi_gdb_test "-var-list-children struct_declarations.long_array.8" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.8"

# Test: c_variable-4.42
# Desc: number of children of struct_declarations.long_array.8
mi_gdb_test "-var-info-num-children struct_declarations.long_array.8" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.8"


# Test: c_variable-4.43
# Desc: children of struct_declarations.long_array.9
mi_gdb_test "-var-list-children struct_declarations.long_array.9" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.long_array.9"

# Test: c_variable-4.44
# Desc: number of children of struct_declarations.long_array.9
mi_gdb_test "-var-info-num-children struct_declarations.long_array.9" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.long_array.9"

# Test: c_variable-4.45
# Desc: children of struct_declarations.u1.a
mi_gdb_test "-var-list-children struct_declarations.u1.a" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.u1.a"

# Test: c_variable-4.46
# Desc: number of children of struct_declarations.u1.a
mi_gdb_test "-var-info-num-children struct_declarations.u1.a" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.u1.a"

# Test: c_variable-4.47
# Desc: children of struct_declarations.u1.b
mi_gdb_test "-var-list-children struct_declarations.u1.b" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"struct_declarations.u1.b.\\*b\",exp=\"\\*b\",numchild=\"0\",type=\"char\"\}\\\]" \
	"get children of struct_declarations.u1.b"

# Test: c_variable-4.48
# Desc: number of children of struct_declarations.u1.b
mi_gdb_test "-var-info-num-children struct_declarations.u1.b" \
	"\\^done,numchild=\"1\"" \
	"get number of children of struct_declarations.u1.b"

# Test: c_variable-4.49
# Desc: children of struct_declarations.u1.c
mi_gdb_test "-var-list-children struct_declarations.u1.c" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.u1.c"

# Test: c_variable-4.50
# Desc: number of children of struct_declarations.u1.c
mi_gdb_test "-var-info-num-children struct_declarations.u1.c" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.u1.c"

# Test: c_variable-4.51
# Desc: children of struct_declarations.u1.d
mi_gdb_test "-var-list-children struct_declarations.u1.d" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.u1.d"


# Test: c_variable-4.52
# Desc: number of children of struct_declarations.u1.d
mi_gdb_test "-var-info-num-children struct_declarations.u1.d" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.u1.d"


# Test: c_variable-4.53
# Desc: children of struct_declarations.s2.u2
mi_gdb_test "-var-list-children struct_declarations.s2.u2" \
	"\\^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 \{\\.\\.\\.\}\"\}\\\]" \
	"get children of struct_declarations.s2.u2"

# Test: c_variable-4.54
# Desc: number of children of struct_declarations.s2.u2
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2" \
	"\\^done,numchild=\"3\"" \
	"get number of children of struct_declarations.s2.u2"

# Test: c_variable-4.55
# Desc: children of struct_declarations.s2.g
mi_gdb_test "-var-list-children struct_declarations.s2.g" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.s2.g"

# Test: c_variable-4.56
# Desc: number of children of struct_declarations.s2.g
mi_gdb_test "-var-info-num-children struct_declarations.s2.g" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.s2.g"


# Test: c_variable-4.57
# Desc: children of struct_declarations.s2.h
mi_gdb_test "-var-list-children struct_declarations.s2.h" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.s2.h"

# Test: c_variable-4.58
# Desc: number of children of struct_declarations.s2.h
mi_gdb_test "-var-info-num-children struct_declarations.s2.h" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.s2.h"


# Test: c_variable-4.59
# Desc: children of struct_declarations.s2.i
mi_gdb_test "-var-list-children struct_declarations.s2.i" \
	"\\^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\"\}\\\]" \
	"get children of struct_declarations.s2.i"

# Test: c_variable-4.60
# Desc: number of children of struct_declarations.s2.i
mi_gdb_test "-var-info-num-children struct_declarations.s2.i" \
	"\\^done,numchild=\"10\"" \
	"get number of children of struct_declarations.s2.i"

# Test: c_variable-4.61
# Desc: children of struct_declarations.s2.u2.u1s1
mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1" \
	"\\^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\"\}\\\]" \
	"get children of struct_declarations.s2.u2.u1s1"

# Test: c_variable-4.62
# Desc: number of children of struct_declarations.s2.u2.u1s1
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1" \
	"\\^done,numchild=\"4\"" \
	"get number of children of struct_declarations.s2.u2.u1s1"

# Test: c_variable-4.63
# Desc: children of struct_declarations.s2.u2.f
mi_gdb_test "-var-list-children struct_declarations.s2.u2.f" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.s2.u2.f"

# Test: c_variable-4.64
# Desc: number of children of struct_declarations.s2.u2.f
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.f" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.s2.u2.f"

# Test: c_variable-4.65
# Desc: children of struct_declarations.s2.u2.u1s2
mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s2" \
	"\\^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 \\*)?\\)\"\}\\\]" \
	"get children of struct_declarations.s2.u2.u1s2"

# Test: c_variable-4.66
# Desc: number of children of struct_declarations.s2.u2.u1s2
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s2" \
	"\\^done,numchild=\"2\"" \
	"get number of children of struct_declarations.s2.u2.u1s2"

# Test: c_variable-4.67
# Desc: children of struct_declarations.s2.u2.u1s1.d
mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1.d" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.s2.u2.u1s1.d"

# Test: c_variable-4.68
# Desc: number of children of struct_declarations.s2.u2.u1s1.d
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1.d" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.s2.u2.u1s1.d"

# Test: c_variable-4.69
# Desc: children of struct_declarations.s2.u2.u1s1.e
mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1.e" \
	"\\^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\"\}\\\]" \
	"get children of struct_declarations.s2.u2.u1s1.e"

# Test: c_variable-4.70
# Desc: number of children of struct_declarations.s2.u2.u1s1.e
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1.e" \
	"\\^done,numchild=\"10\"" \
	"get number of children of struct_declarations.s2.u2.u1s1.e"


# Test: c_variable-4.71
# Desc: children of struct_declarations.s2.u2.u1s1.func
mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1.func" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.s2.u2.u1s1.func"

# Test: c_variable-4.72
# Desc: number of children of struct_declarations.s2.u2.u1s1.func
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1.func" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.s2.u2.u1s1.func"


# Test: c_variable-4.73
# Desc: children of struct_declarations.s2.u2.u1s1.foo
mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s1.foo" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.s2.u2.u1s1.foo"

# Test: c_variable-4.74
# Desc: number of children of struct_declarations.s2.u2.u1s1.foo
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s1.foo" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.s2.u2.u1s1.foo"


# Test: c_variable-4.75
# Desc: children of struct_declarations.s2.u2.u1s2.array_ptr
mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s2.array_ptr" \
	"\\^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\"\}\\\]" \
	"get children of struct_declarations.s2.u2.u1s2.array_ptr"

# Test: c_variable-4.76
# Desc: number of children of struct_declarations.s2.u2.u1s2.array_ptr
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s2.array_ptr" \
	"\\^done,numchild=\"2\"" \
	"get number of children of struct_declarations.s2.u2.u1s2.array_ptr"

# Test: c_variable-4.77
# Desc: children of struct_declarations.s2.u2.u1s2.func
mi_gdb_test "-var-list-children struct_declarations.s2.u2.u1s2.func" \
	"\\^done,numchild=\"0\"" \
	"get children of struct_declarations.s2.u2.u1s2.func"

# Test: c_variable-4.78
# Desc: number of children of struct_declarations.s2.u2.u1s2.func
mi_gdb_test "-var-info-num-children struct_declarations.s2.u2.u1s2.func" \
	"\\^done,numchild=\"0\"" \
	"get number of children of struct_declarations.s2.u2.u1s2.func"

# Test: c_variable-4.79
# Desc: children of struct_declarations.int_ptr_ptr.*int_ptr_ptr
mi_gdb_test "-var-list-children struct_declarations.int_ptr_ptr.*int_ptr_ptr" \
	"\\^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\"\}\\\]" \
	"get children of struct_declarations.int_ptr_ptr.*int_ptr_ptr"
#} {**int_ptr_ptr}

# Test: c_variable-4.80
# Desc: Number of children of struct_declarations.int_ptr_ptr.*int_ptr_ptr
mi_gdb_test "-var-info-num-children struct_declarations.int_ptr_ptr.*int_ptr_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of struct_declarations.int_ptr_ptr.*int_ptr_ptr"


# Step to "struct_declarations.integer = 123;"
set line 192
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step to line $line"

# Test: c_variable-4.81
# Desc: create local variable "weird"
mi_gdb_test "-var-create weird * weird" \
	"\\^done,name=\"weird\",numchild=\"11\",type=\"weird_struct \\*\"" \
	"create local variable weird"

# Test: c_variable-4.82
# Desc: children of weird
mi_gdb_test "-var-list-children weird" \
	"\\^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 \{\\.\\.\\.\}\"\}\\\]" \
	"get children of weird"

# Test: c_variable-4.83
# Desc: number of children of weird
mi_gdb_test "-var-info-num-children weird" \
	"\\^done,numchild=\"11\"" \
	"get number of children of weird"


# Test: c_variable-4.84
# Desc: children of weird->long_array
mi_gdb_test "-var-list-children weird.long_array" \
	"\\^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\"\}\\\]" \
	"get children of weird.long_array"
#gdbtk_test c_variable-4.84 {children of weird->long_array} {
#  get_children weird.long_array
#} {0 1 2 3 4 5 6 7 8 9}

# Test: c_variable-4.85
# Desc: number of children of weird.long_array
mi_gdb_test "-var-info-num-children weird.long_array" \
	"\\^done,numchild=\"10\"" \
	"get number of children of weird.long_array"

# Test: c_variable-4.86
# Desc: children of weird.int_ptr_ptr
mi_gdb_test "-var-list-children weird.int_ptr_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"weird.int_ptr_ptr.\\*int_ptr_ptr\",exp=\"\\*int_ptr_ptr\",numchild=\"1\",type=\"int \\*\"\}\\\]" \
	"get children of weird.int_ptr_ptr"
#gdbtk_test c_variable-4.86 {children of weird->int_ptr_ptr} {
#  get_children weird.int_ptr_ptr
#} {*int_ptr_ptr}

# Test: c_variable-4.87
# Desc: number of children of weird.int_ptr_ptr
mi_gdb_test "-var-info-num-children weird.int_ptr_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of weird.int_ptr_ptr"

# Test: c_variable-4.88
# Desc: children of *weird->int_ptr_ptr
mi_gdb_test "-var-list-children weird.int_ptr_ptr.*int_ptr_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"weird.int_ptr_ptr.\\*int_ptr_ptr.\\*\\*int_ptr_ptr\",exp=\"\\*\\*int_ptr_ptr\",numchild=\"0\",type=\"int\"\}\\\]" \
	"get children of weird.int_ptr_ptr.*int_ptr_ptr"
#gdbtk_test c_variable-4.88 {children of *weird->int_ptr_ptr} {
#  get_children weird.int_ptr_ptr.*int_ptr_ptr
#} {**int_ptr_ptr}

# Test: c_variable-4.89
# Desc: number of children *weird->int_ptr_ptr
mi_gdb_test "-var-info-num-children weird.int_ptr_ptr.*int_ptr_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of weird.int_ptr_ptr.*int_ptr_ptr"

# Test: c_variable-4.90
# Desc: create weird->int_ptr_ptr
mi_gdb_test "-var-create weird->int_ptr_ptr * weird->int_ptr_ptr" \
	"\\^done,name=\"weird->int_ptr_ptr\",numchild=\"1\",type=\"int \\*\\*\"" \
	"create local variable weird->int_ptr_ptr"

# Test: c_variable-4.91
# Desc: children of weird->int_ptr_ptr
mi_gdb_test "-var-list-children weird->int_ptr_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"weird->int_ptr_ptr.\\*weird->int_ptr_ptr\",exp=\"\\*weird->int_ptr_ptr\",numchild=\"1\",type=\"int \\*\"\}\\\]" \
	"get children of weird->int_ptr_ptr"


# Test: c_variable-4.92
# Desc: number of children of (weird->int_ptr_ptr)
mi_gdb_test "-var-info-num-children weird->int_ptr_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of weird->int_ptr_ptr"

# Test: c_variable-4.93
# Desc: children of *(weird->int_ptr_ptr)
mi_gdb_test "-var-list-children weird->int_ptr_ptr.*weird->int_ptr_ptr" \
	"\\^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\"\}\\\]" \
	"get children of weird->int_ptr_ptr.*weird->int_ptr_ptr"

# Test: c_variable-4.94
# Desc: number of children of *(weird->int_ptr_ptr)
mi_gdb_test "-var-info-num-children weird->int_ptr_ptr.*weird->int_ptr_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of weird->int_ptr_ptr.*weird->int_ptr_ptr"

# Test: c_variable-4.95
# Desc: children of *(*(weird->int_ptr_ptr))
mi_gdb_test "-var-list-children weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr" \
	"\\^done,numchild=\"0\"" \
	"get children of weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr"

# Test: c_variable-4.96
# Desc: number of children of *(*(weird->int_ptr_ptr))
mi_gdb_test "-var-info-num-children weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr" \
	"\\^done,numchild=\"0\"" \
	"get number of children of weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr"

# Test: c_variable-4.97
# Desc: is weird editable
mi_gdb_test "-var-show-attributes weird" \
	"\\^done,attr=\"editable\"" \
	"is weird editable"

# Test: c_variable-4.98
# Desc: is weird->int_ptr_ptr editable
mi_gdb_test "-var-show-attributes weird->int_ptr_ptr" \
	"\\^done,attr=\"editable\"" \
	"is weird->int_ptr_ptr editable"

# Test: c_variable-4.99
# Desc: is *(weird->int_ptr_ptr) editable
mi_gdb_test "-var-show-attributes weird.int_ptr_ptr.*int_ptr_ptr" \
	"\\^done,attr=\"editable\"" \
	"is weird.int_ptr_ptr.*int_ptr_ptr editable"

# Test: c_variable-4.100
# Desc: is *(*(weird->int_ptr_ptr)) editable
mi_gdb_test "-var-show-attributes weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr" \
	"\\^done,attr=\"editable\"" \
	"is weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr editable"

# Test: c_variable-4.101
# Desc: is weird->u1 editable
mi_gdb_test "-var-show-attributes weird.u1" \
	"\\^done,attr=\"noneditable\"" \
	"is weird.u1 editable"

# Test: c_variable-4.102
# Desc: is weird->s2 editable
mi_gdb_test "-var-show-attributes weird.s2" \
	"\\^done,attr=\"noneditable\"" \
	"is weird.s2 editable"

# Test: c_variable-4.103
# Desc: is struct_declarations.u1.a editable
mi_gdb_test "-var-show-attributes struct_declarations.u1.a" \
	"\\^done,attr=\"editable\"" \
	"is struct_declarations.u1.a editable"

# Test: c_variable-4.104
# Desc: is struct_declarations.u1.b editable
mi_gdb_test "-var-show-attributes struct_declarations.u1.b" \
	"\\^done,attr=\"editable\"" \
	"is struct_declarations.u1.b editable"

# Test: c_variable-4.105
# Desc: is struct_declarations.u1.c editable
mi_gdb_test "-var-show-attributes struct_declarations.u1.c" \
	"\\^done,attr=\"editable\"" \
	"is struct_declarations.u1.c editable"

# Test: c_variable-4.106
# Desc: is struct_declarations.long_array editable
mi_gdb_test "-var-show-attributes struct_declarations.long_array" \
	"\\^done,attr=\"noneditable\"" \
	"is struct_declarations.long_array editable"

# Test: c_variable-4.107
# Desc: is struct_declarations.long_array[0] editable
mi_gdb_test "-var-show-attributes struct_declarations.long_array.0" \
	"\\^done,attr=\"editable\"" \
	"is struct_declarations.long_array.0 editable"

# Test: c_variable-4.108
# Desc: is struct_declarations editable
mi_gdb_test "-var-show-attributes struct_declarations" \
	"\\^done,attr=\"noneditable\"" \
	"is struct_declarations editable"

mi_gdb_test "-var-delete weird" \
	"\\^done,ndeleted=\"24\"" \
	"delete var weird"

#####                         #####
#                                 #
# children and update tests #
#                                 #
#####                         #####

# Test: c_variable-5.1
# Desc: check that nothing changed
mi_gdb_test "-var-update *" \
	"\\^done,changelist=\\\[\\\]" \
	"update all vars. None changed"

# Step over "struct_declarations.integer = 123;"
set line 193
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.2
# Desc: check that integer changed
mi_gdb_test "-var-update *" \
	"\\^done,changelist=\\\[\{name=\"struct_declarations.integer\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
	"update all vars struct_declarations.integer"

# Step over:
#    weird->char_ptr = "hello";
#    bar = 2121;
#    foo = &bar;
set line 196
mi_execute_to "exec-step 3" "end-stepping-range" do_children_tests {} {.*var-cmd.c} $line {} "step $line"

# Test: c_variable-5.3
# Desc: check that char_ptr changed
mi_gdb_test "-var-update *" \
	"\\^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\"\}\\\]" \
	"update all vars struct_declarations.char_ptr"

# Step over "struct_declarations.int_ptr_ptr = &foo;"
set line 197
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.4
# Desc: check that int_ptr_ptr and children changed
mi_gdb_test "-var-update *" \
	"\\^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\"\}\\\]" \
	"update all vars int_ptr_ptr and children changed"

# Step over "weird->long_array[0] = 1234;"
set line 198
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.5
# Desc: check that long_array[0] changed
mi_gdb_test "-var-update *" \
	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.0\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
	"update all vars struct_declarations.long_array.0 changed"

# Step over "struct_declarations.long_array[1] = 2345;"
set line 199
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.6
# Desc: check that long_array[1] changed
mi_gdb_test "-var-update *" \
	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.1\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
	"update all vars struct_declarations.long_array.1 changed"

# Step over "weird->long_array[2] = 3456;"
set line 200
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.7
# Desc: check that long_array[2] changed
mi_gdb_test "-var-update *" \
	"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.2\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
	"update all vars struct_declarations.long_array.2 changed"

# Step over:
#    struct_declarations.long_array[3] = 4567;
#    weird->long_array[4] = 5678;
#    struct_declarations.long_array[5] = 6789;
#    weird->long_array[6] = 7890;
#    struct_declarations.long_array[7] = 8901;
#    weird->long_array[8] = 9012;
#    struct_declarations.long_array[9] = 1234;
set line 208
mi_execute_to "exec-step 7" "end-stepping-range" do_children_tests {} {.*var-cmd.c} $line {} "step $line"

# Test: c_variable-5.8
# Desc: check that long_array[3-9] changed
mi_gdb_test "-var-update *" \
	"\\^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\"\}\\\]" \
	"update all vars struct_declarations.long_array.3-9 changed"

mi_gdb_test "-var-list-children --all-values struct_declarations.long_array" \
        "\\^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\"\}\\\]" \
                "listing of names and values of children"

# Step over "weird->func_ptr = nothing;"
set line 211
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.9
# Desc: check that func_ptr changed
mi_gdb_test "-var-update *" \
	"\\^done,changelist=\\\[\{name=\"struct_declarations.func_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
	"update all vars struct_declarations.func_ptr changed"

# Delete all variables
mi_gdb_test "-var-delete struct_declarations" \
	"\\^done,ndeleted=\"65\"" \
	"delete var struct_declarations"

mi_gdb_test "-var-delete weird->int_ptr_ptr" \
	"\\^done,ndeleted=\"3\"" \
	"delete var weird->int_ptr_ptr"

# Step over all lines:
# ...
#   psnp = &snp0;
set line 254
mi_execute_to "exec-step 43" "end-stepping-range" do_children_tests {} {.*var-cmd.c} $line {} "step $line"

# Test: c_variable-5.10
# Desc: create psnp->char_ptr
mi_gdb_test "-var-create  psnp->char_ptr *  psnp->char_ptr" \
	"\\^done,name=\"psnp->char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\\*\"" \
	"create local variable  psnp->char_ptr"

# Test: c_variable-5.11
# Desc: children of psnp->char_ptr
mi_gdb_test "-var-list-children psnp->char_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->char_ptr.\\*psnp->char_ptr\",exp=\"\\*psnp->char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\"\}\\\]" \
	"get children of psnp->char_ptr"

# Test: c_variable-5.12
# Desc: number of children of psnp->char_ptr
mi_gdb_test "-var-info-num-children psnp->char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->char_ptr"

# Test: c_variable-5.13
# Desc: children of *(psnp->char_ptr)
mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->char_ptr.\\*psnp->char_ptr.\\*\\*psnp->char_ptr\",exp=\"\\*\\*psnp->char_ptr\",numchild=\"1\",type=\"char \\*\\*\"\}\\\]" \
	"get children of psnp->char_ptr.*psnp->char_ptr"

# Test: c_variable-5.14
# Desc: number of children of *(psnp->char_ptr)
mi_gdb_test "-var-info-num-children psnp->char_ptr.*psnp->char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->char_ptr.*psnp->char_ptr"

# Test: c_variable-5.15
# Desc: children of *(*(psnp->char_ptr))
mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr" \
	"\\^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 \\*\"\}\\\]" \
	"get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr"

# Test: c_variable-5.15B
# Desc: children of *(*(*(psnp->char_ptr)))
mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr" \
	"\\^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\"\}\\\]" \
	"get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr"

# Test: c_variable-5.16
# Desc: number of children of *(*(psnp->char_ptr))
mi_gdb_test "-var-info-num-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr"

# Test: c_variable-5.17
# Desc: children of *(*(*(psnp->char_ptr)))
mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr" \
	"\\^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\"\}\\\]" \
	"get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr"

# Test: c_variable-5.18
# Desc: number of children of *(*(*(psnp->char_ptr)))
mi_gdb_test "-var-info-num-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr"

# Test: c_variable-5.17B
# Desc: children of *(*(*(*(psnp->char_ptr))))
mi_gdb_test "-var-list-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr" \
	"\\^done,numchild=\"0\"" \
	"get children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr"

# Test: c_variable-5.18B
# Desc: number of children of *(*(*(*(psnp->char_ptr))))
mi_gdb_test "-var-info-num-children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr" \
	"\\^done,numchild=\"0\"" \
	"get number of children of psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr"


# Test: c_variable-5.19
# Desc: create psnp->long_ptr
mi_gdb_test "-var-create  psnp->long_ptr *  psnp->long_ptr" \
	"\\^done,name=\"psnp->long_ptr\",numchild=\"1\",type=\"long int \\*\\*\\*\\*\"" \
	"create local variable  psnp->long_ptr"

# Test: c_variable-5.20
# Desc: children of psnp->long_ptr
mi_gdb_test "-var-list-children psnp->long_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->long_ptr.\\*psnp->long_ptr\",exp=\"\\*psnp->long_ptr\",numchild=\"1\",type=\"long int \\*\\*\\*\"\}\\\]" \
	"get children of psnp->long_ptr"

# Test: c_variable-5.21
# Desc: number of children of psnp->long_ptr
mi_gdb_test "-var-info-num-children psnp->long_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->long_ptr"

# Test: c_variable-5.22
# Desc: children of *(psnp->long_ptr)
mi_gdb_test "-var-list-children psnp->long_ptr.*psnp->long_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->long_ptr.\\*psnp->long_ptr.\\*\\*psnp->long_ptr\",exp=\"\\*\\*psnp->long_ptr\",numchild=\"1\",type=\"long int \\*\\*\"\}\\\]" \
	"get children of psnp->long_ptr.*psnp->long_ptr"


# Test: c_variable-5.23
# Desc: number of children of *(psnp->long_ptr)
mi_gdb_test "-var-info-num-children psnp->long_ptr.*psnp->long_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->long_ptr.*psnp->long_ptr"

# Test: c_variable-5.24
# Desc: children of *(*(psnp->long_ptr))
mi_gdb_test "-var-list-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr" \
	"\\^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 \\*\"\}\\\]" \
	"get children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr"

# Test: c_variable-5.25
# Desc: number of children of *(*(psnp->long_ptr))
mi_gdb_test "-var-info-num-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr"

# Test: c_variable-5.26
# Desc: children of *(*(*(psnp->long_ptr)))
mi_gdb_test "-var-list-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr" \
	"\\^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\"\}\\\]" \
	"get children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr"

# Test: c_variable-5.27
# Desc: number of children of *(*(*(psnp->long_ptr)))
mi_gdb_test "-var-info-num-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr"

# Test: c_variable-5.28
# Desc: children of *(*(*(*(psnp->long_ptr))))
mi_gdb_test "-var-list-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr" \
	"\\^done,numchild=\"0\"" \
	"get children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr"

# Test: c_variable-5.29
# Desc: number of children of *(*(*(*(psnp->long_ptr))))
mi_gdb_test "-var-info-num-children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr" \
	"\\^done,numchild=\"0\"" \
	"get number of children of psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr"

# Test: c_variable-5.30
# Desc: create psnp->ptrs
mi_gdb_test "-var-create  psnp->ptrs *  psnp->ptrs" \
	"\\^done,name=\"psnp->ptrs\",numchild=\"3\",type=\"struct _struct_n_pointer \\*\\\[3\\\]\"" \
	"create local variable  psnp->ptrs"

# Test: c_variable-5.31
# Desc: children of psnp->ptrs
mi_gdb_test "-var-list-children psnp->ptrs" \
	"\\^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 \\*\"\}\\\]" \
	"get children of psnp->ptrs"

# Test: c_variable-5.32
# Desc: number of children of psnp->ptrs
mi_gdb_test "-var-info-num-children psnp->ptrs" \
	"\\^done,numchild=\"3\"" \
	"get number of children of psnp->ptrs"

# Test: c_variable-5.33
# Desc: children of psnp->ptrs[0]
mi_gdb_test "-var-list-children psnp->ptrs.0" \
	"\\^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 \\*\"\}\\\]" \
	"get children of psnp->ptrs.0"

# Test: c_variable-5.34
# Desc: number of children of psnp->ptrs[0]
mi_gdb_test "-var-info-num-children psnp->ptrs.0" \
	"\\^done,numchild=\"4\"" \
	"get number of children of psnp->ptrs.0"

# Test: c_variable-5.35
# Desc: children of psnp->ptrs[0]->next
mi_gdb_test "-var-list-children psnp->ptrs.0.next" \
	"\\^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 \\*\"\}\\\]" \
	"get children of psnp->ptrs.0.next"

#} {char_ptr long_ptr ptrs next}

# Test: c_variable-5.36
# Desc: number of children of psnp->ptrs[0]->next
mi_gdb_test "-var-info-num-children psnp->ptrs.0.next" \
	"\\^done,numchild=\"4\"" \
	"get number of children of psnp->ptrs.0.next"


# Test: c_variable-5.37
# Desc: children of psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr\",exp=\"\\*char_ptr\",numchild=\"1\",type=\"char \\*\\*\\*\"\}\\\]" \
	"get children of psnp->ptrs.0.next.char_ptr"

#gdbtk_test c_variable-5.37 {children of psnp->ptrs[0]->next->char_ptr} {
#  get_children psnp->ptrs.0.next.char_ptr
#} {*char_ptr}

# Test: c_variable-5.38
# Desc: number of children of psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->ptrs.0.next.char_ptr"

# Test: c_variable-5.39
# Desc: children of *psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr" \
	"\\^done,numchild=\"1\",children=\\\[child=\{name=\"psnp->ptrs.0.next.char_ptr.\\*char_ptr.\\*\\*char_ptr\",exp=\"\\*\\*char_ptr\",numchild=\"1\",type=\"char \\*\\*\"\}\\\]" \
	"get children of psnp->ptrs.0.next.char_ptr.*char_ptr"

# Test: c_variable-5.40
# Desc: number of children of *psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr.*char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr"

# Test: c_variable-5.41
# Desc: children of **psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr" \
	"\\^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 \\*\"\}\\\]" \
	"get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr"

# Test: c_variable-5.41B
# Desc: children of ***psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr" \
	"\\^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\"\}\\\]" \
	"get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr"

# Test: c_variable-5.42
# Desc: number of children of **psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr"

# Test: c_variable-5.43
# Desc: children of ***psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr" \
	"\\^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\"\}\\\]" \
	"get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr"

# Test: c_variable-5.44
# Desc: number of children of ***psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr" \
	"\\^done,numchild=\"1\"" \
	"get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr"

# Test: c_variable-5.43B
# Desc: children of ****psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-list-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr" \
	"\\^done,numchild=\"0\"" \
	"get children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr"

# Test: c_variable-5.44B
# Desc: number of children of ****psnp->ptrs[0]->next->char_ptr
mi_gdb_test "-var-info-num-children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr" \
	"\\^done,numchild=\"0\"" \
	"get number of children of psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr"

# Test: c_variable-5.45
# Desc: children of psnp->ptrs[0]->next->next
mi_gdb_test "-var-list-children psnp->ptrs.0.next.next" \
	"\\^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 \\*\"\}\\\]" \
	"get children of psnp->ptrs.0.next.next"

# Test: c_variable-5.46
# Desc: children of psnp->ptrs[0]->next->next->ptrs
mi_gdb_test "-var-list-children psnp->ptrs.0.next.next.ptrs" \
	"\\^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 \\*\"\}\\\]" \
	"get children of psnp->ptrs.0.next.next.ptrs"

#  Step over "snp0.char_ptr = &b3;"
set line 255
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.47
# Desc: check that psnp->char_ptr (and [0].char_ptr) changed
mi_gdb_test "-var-update *" \
	"\\^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\"\}\\\]" \
	"update all vars psnp->char_ptr (and 0.char_ptr) changed"

#  Step over "snp1.char_ptr = &c3;"
set line 256
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.48
# Desc: check that psnp->next->char_ptr (and [1].char_ptr) changed
mi_gdb_test "-var-update *" \
	"\\^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\"\}\\\]" \
	"update all vars psnp->next->char_ptr (and 1.char_ptr) changed"


#  Step over "snp2.char_ptr = &a3;"
set line 257
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.49
# Desc: check that psnp->next->next->char_ptr (and [2].char_ptr) changed
mi_gdb_test "-var-update *" \
	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.next.char_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
	"update all vars psnp->next->next->char_ptr (and 2.char_ptr) changed"


#  Step over "snp0.long_ptr = &y3;"
set line 258
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.50
# Desc: check that psnp->long_ptr (and [0].long_ptr) changed
mi_gdb_test "-var-update *" \
	"\\^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\"\}\\\]" \
	"update all vars psnp->long_ptr (and 0.long_ptr) changed"


#  Step over "snp1.long_ptr = &x3;"
set line 259
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.51
# Desc: check that psnp->next->long_ptr (and [1].long_ptr) changed
# Why does this have a FIXME?
setup_xfail *-*-*
mi_gdb_test "-var-update *" \
	"FIXME\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.long_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
	"update all vars psnp->next->long_ptr (and 1.long_ptr) changed"
clear_xfail *-*-*

# This command produces this error message:
# &"warning: varobj_list: assertion failed - mycount <> 0\n"
#

#  Step over "snp2.long_ptr = &z3;"
set line 260
mi_step_to do_children_tests {} {.*var-cmd.c} $line "step $line"

# Test: c_variable-5.52
# Desc: check that psnp->next->next->long_ptr (and [2].long_ptr) changed
mi_gdb_test "-var-update *" \
	"\\^done,changelist=\\\[\{name=\"psnp->ptrs.0.next.next.long_ptr\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
	"update all vars psnp->next->next->long_ptr (and 2.long_ptr) changed"




mi_gdb_exit
return 0
