OLD | NEW |
1 # Copyright 2006-2012 Free Software Foundation, Inc. | 1 # Copyright 2006-2013 Free Software Foundation, Inc. |
2 | 2 |
3 # This program is free software; you can redistribute it and/or modify | 3 # This program is free software; you can redistribute it and/or modify |
4 # it under the terms of the GNU General Public License as published by | 4 # it under the terms of the GNU General Public License as published by |
5 # the Free Software Foundation; either version 3 of the License, or | 5 # the Free Software Foundation; either version 3 of the License, or |
6 # (at your option) any later version. | 6 # (at your option) any later version. |
7 # | 7 # |
8 # This program is distributed in the hope that it will be useful, | 8 # This program is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 # GNU General Public License for more details. | 11 # GNU General Public License for more details. |
12 # | 12 # |
13 # You should have received a copy of the GNU General Public License | 13 # You should have received a copy of the GNU General Public License |
14 # along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
15 | 15 |
16 # Test variable objects treat non-zero offsets in Fortran arrays correctly. | 16 # Test variable objects treat non-zero offsets in Fortran arrays correctly. |
17 | 17 |
18 load_lib mi-support.exp | 18 load_lib mi-support.exp |
19 set MIFLAGS "-i=mi" | 19 set MIFLAGS "-i=mi" |
20 | 20 |
21 if { [skip_fortran_tests] } { return -1 } | 21 if { [skip_fortran_tests] } { return -1 } |
22 | 22 |
23 gdb_exit | 23 gdb_exit |
24 if [mi_gdb_start] { | 24 if [mi_gdb_start] { |
25 continue | 25 continue |
26 } | 26 } |
27 | 27 |
28 standard_testfile array.f | 28 standard_testfile array.f |
29 | 29 |
30 if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ | 30 if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ |
31 » executable {debug f77}] != ""} { | 31 » executable {debug f90}] != ""} { |
32 return -1 | 32 return -1 |
33 } | 33 } |
34 | 34 |
35 mi_gdb_reinitialize_dir $srcdir/$subdir | 35 mi_gdb_reinitialize_dir $srcdir/$subdir |
36 mi_gdb_load ${binfile} | 36 mi_gdb_load ${binfile} |
37 | 37 |
38 mi_runto MAIN__ | 38 mi_runto MAIN__ |
39 | 39 |
40 mi_gdb_test "-var-create array * array" \ | 40 mi_create_varobj "array" "array" "create local variable array" |
41 "\\^done,name=\"array\",numchild=\"3\",value=\".*\",type=\"integer \\(2,-1:1
\\)\"" \ | |
42 "create local variable array" | |
43 | 41 |
44 mi_gdb_test "-var-list-children --all-values array" \ | 42 |
45 "\\^done,numchild=\"3\",children=\\\[child=\{name=\"array.-1\",exp=\"-1\",nu
mchild=\"2\",value=\"\\\[2\\\]\",type=\"integer \\(2\\)\"\},child=\{name=\"array
.0\",exp=\"0\",numchild=\"2\",value=\"\\\[2\\\]\",type=\"integer \\(2\\)\"\},chi
ld=\{name=\"array.1\",exp=\"1\",numchild=\"2\",value=\"\\\[2\\\]\",type=\"intege
r \\(2\\)\"\}\\\]" \ | 43 # Depending on the compiler version being used, the name of the 4-byte integer |
46 "get children of array" | 44 # and real types can be printed differently. For instance, gfortran-4.1 uses |
| 45 # "int4" whereas gfortran-4.3 uses "integer(kind=4)". |
| 46 set int4 "(int4|integer\\(kind=4\\))" |
| 47 |
| 48 set children [list [list "array.-1" "-1" 2 "$int4 \\(2\\)"] \ |
| 49 » » [list "array.0" "0" 2 "$int4 \\(2\\)"] \ |
| 50 » » [list "array.1" "1" 2 "$int4 \\(2\\)"]] |
| 51 |
| 52 mi_list_varobj_children "array" $children "get children of array" |
47 | 53 |
48 mi_gdb_test "-var-list-children --all-values array.-1" \ | 54 mi_gdb_test "-var-list-children --all-values array.-1" \ |
49 "\\^done,numchild=\"2\",children=\\\[child=\{name=\"array.-1.1\",exp=\"1\",n
umchild=\"0\",value=\"11\",type=\"integer\"\},child=\{name=\"array.-1.2\",exp=\"
2\",numchild=\"0\",value=\"21\",type=\"integer\"\}\\\]" \ | 55 "\\^done,numchild=\"2\",children=\\\[child=\{name=\"array.-1.1\",exp=\"1\",n
umchild=\"0\",value=\"11\",type=\"$int4\"\},child=\{name=\"array.-1.2\",exp=\"2\
",numchild=\"0\",value=\"21\",type=\"$int4\"\}\\\],has_more=\"0\"" \ |
50 "get grandchildren of array (children of first element of second index)" | 56 "get grandchildren of array (children of first element of second index)" |
OLD | NEW |