e22f8b7c8c
Switch the license of all .f and .f90 files to GPLv3. Switch the license of all .s and .S files to GPLv3.
1234 lines
64 KiB
Text
1234 lines
64 KiB
Text
# Copyright 1999, 2000, 2001, 2002, 2004, 2005, 2007
|
|
# Free Software Foundation, Inc.
|
|
|
|
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
|
|
|
# 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 "mi-var-child"
|
|
set srcfile ${testfile}.c
|
|
set binfile ${objdir}/${subdir}/${testfile}
|
|
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DFAKEARGV}] != "" } {
|
|
untested mi-var-child.exp
|
|
return -1
|
|
}
|
|
|
|
mi_delete_breakpoints
|
|
mi_gdb_reinitialize_dir $srcdir/$subdir
|
|
mi_gdb_load ${binfile}
|
|
|
|
mi_runto do_children_tests
|
|
|
|
set line_dlt_first_real [gdb_get_line_number "weird = &struct_declarations;"]
|
|
mi_continue_to_line $line_dlt_first_real "step to real start of do_children_test"
|
|
|
|
|
|
##### #####
|
|
# #
|
|
# 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\",value=\"{...}\",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=\"12\",type=\"long int \\\[12\\\]\"\},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=\"12\",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\"\},child=\{name=\"struct_declarations.long_array.10\",exp=\"10\",numchild=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.11\",exp=\"11\",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=\"12\"" \
|
|
"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_dct_123 [gdb_get_line_number "struct_declarations.integer = 123;"]
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
$line_dct_123 "step to line \$line_dct_123"
|
|
|
|
# Test: c_variable-4.81
|
|
# Desc: create local variable "weird"
|
|
mi_gdb_test "-var-create weird * weird" \
|
|
"\\^done,name=\"weird\",numchild=\"11\",value=\"$hex\",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=\"12\",type=\"long int \\\[12\\\]\"\},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=\"12\",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\"\},child=\{name=\"weird.long_array.10\",exp=\"10\",numchild=\"0\",type=\"long int\"\},child=\{name=\"weird.long_array.11\",exp=\"11\",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 10 11}
|
|
|
|
# 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=\"12\"" \
|
|
"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\",value=\"$hex\",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=\"26\"" \
|
|
"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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_123 + 1] "step \$line_dct_123 + 1"
|
|
|
|
# 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;
|
|
mi_execute_to "exec-step 3" "end-stepping-range" do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_123 + 4] {} "step \$line_dct_123 + 4"
|
|
|
|
# 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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_123 + 5] "step \$line_dct_123 + 5"
|
|
|
|
# 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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_123 + 6] "step \$line_dct_123 + 6"
|
|
|
|
# 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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_123 + 7] "step \$line_dct_123 + 7"
|
|
|
|
# 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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_123 + 8] "step \$line_dct_123 + 8"
|
|
|
|
# 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_dct_nothing [gdb_get_line_number "weird->func_ptr = nothing;"]
|
|
mi_execute_to "exec-step 7" "end-stepping-range" do_children_tests {} ".*${srcfile}" \
|
|
$line_dct_nothing {} "step \$line_dct_nothing"
|
|
|
|
# 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"
|
|
|
|
|
|
# Step over "weird->func_ptr = nothing";
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_nothing + 1] "step \$line_dct_nothing + 1"
|
|
|
|
# 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"
|
|
|
|
# Step over "struct_declarations.long_array[10] = 3456";
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_nothing + 2] "step \$line_dct_nothing + 2"
|
|
|
|
mi_gdb_test "-var-update --no-values *" \
|
|
"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.10\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
|
|
"update all vars struct_declarations.long_array.10 changed, don't print values."
|
|
|
|
# Step over "struct_declarations.long_array[11] = 5678";
|
|
set line_dct_a0_0 [gdb_get_line_number "a0\[0\] = '0';"]
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
$line_dct_a0_0 "step \$line_dct_a0_0"
|
|
|
|
mi_gdb_test "-var-update --all-values *" \
|
|
"\\^done,changelist=\\\[\{name=\"struct_declarations.long_array.11\",value=\"5678\",in_scope=\"true\",type_changed=\"false\"\}\\\]" \
|
|
"update all vars struct_declarations.long_array.11 changed, print values."
|
|
|
|
mi_gdb_test "-var-list-children --all-values struct_declarations.long_array" \
|
|
"\\^done,numchild=\"12\",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\"\},child=\{name=\"struct_declarations.long_array.10\",exp=\"10\",numchild=\"0\",value=\"3456\",type=\"long int\"\},child=\{name=\"struct_declarations.long_array.11\",exp=\"11\",numchild=\"0\",value=\"5678\",type=\"long int\"\}\\\]" \
|
|
"listing of names and values of children"
|
|
|
|
mi_gdb_test "-var-list-children --simple-values struct_declarations" \
|
|
"\\^done,numchild=\"11\",children=\\\[child=\{name=\"struct_declarations.integer\",exp=\"integer\",numchild=\"0\",value=\"123\",type=\"int\"\},child=\{name=\"struct_declarations.character\",exp=\"character\",numchild=\"0\",value=\"0 '\\\\\\\\0'\",type=\"char\"\},child=\{name=\"struct_declarations.char_ptr\",exp=\"char_ptr\",numchild=\"1\",value=\"$hex \\\\\"hello\\\\\"\",type=\"char \\*\"\},child=\{name=\"struct_declarations.long_int\",exp=\"long_int\",numchild=\"0\",value=\"0\",type=\"long int\"\},child=\{name=\"struct_declarations.int_ptr_ptr\",exp=\"int_ptr_ptr\",numchild=\"1\",value=\"$hex\",type=\"int \\*\\*\"\},child=\{name=\"struct_declarations.long_array\",exp=\"long_array\",numchild=\"12\",type=\"long int \\\[12\\\]\"\},child=\{name=\"struct_declarations.func_ptr\",exp=\"func_ptr\",numchild=\"0\",value=\"(@$hex: |)$hex <nothing>\",type=\"void \\(\\*\\)\\(void\\)\"\},child=\{name=\"struct_declarations.func_ptr_struct\",exp=\"func_ptr_struct\",numchild=\"0\",value=\"0\",type=\"struct _struct_decl \\(\\*\\)\\(int, char \\*, long int\\)\"\},child=\{name=\"struct_declarations.func_ptr_ptr\",exp=\"func_ptr_ptr\",numchild=\"0\",value=\"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 \{...\}\"\}\\\]" \
|
|
"listing of children, simple types: names, type and values, complex types: names and types"
|
|
|
|
# Delete all variables
|
|
mi_gdb_test "-var-delete struct_declarations" \
|
|
"\\^done,ndeleted=\"67\"" \
|
|
"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_dct_snp0 [gdb_get_line_number "psnp = &snp0;"]
|
|
mi_execute_to "exec-step 43" "end-stepping-range" do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_snp0 + 1] {} "step \$line_dct_snp0 + 1"
|
|
|
|
# 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\",value=\".*\",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\",value=\"$hex\",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\",value=\"\\\[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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_snp0 + 2] "step \$line_dct_snp0 + 2"
|
|
|
|
# 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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_snp0 + 3] "step \$line_dct_snp0 + 3"
|
|
|
|
# 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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_snp0 + 4] "step \$line_dct_snp0 + 4"
|
|
|
|
# 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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_snp0 + 5] "step \$line_dct_snp0 + 5"
|
|
|
|
# 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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_snp0 + 6] "step \$line_dct_snp0 + 6"
|
|
|
|
# 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_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;"
|
|
mi_step_to do_children_tests {} ".*${srcfile}" \
|
|
[expr $line_dct_snp0 + 7] "step \$line_dct_snp0 + 7"
|
|
|
|
# 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
|