* gdb.mi/mi-var-child-f.exp: Pass f90 to gdb_compile instead
authorKeith Seitz <keiths@redhat.com>
Fri, 26 Jul 2013 18:15:07 +0000 (18:15 +0000)
committerKeith Seitz <keiths@redhat.com>
Fri, 26 Jul 2013 18:15:07 +0000 (18:15 +0000)
of f77.
Allow for compiler variations of integer types.
Use mi_create_varobj.
Use mi_list_varobj_children for the immediate children of `array'.
Add "has_more" attribute for grandchildren test.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.mi/mi-var-child-f.exp

index ed1337a..4f51d8e 100644 (file)
@@ -1,3 +1,12 @@
+2013-07-26  Keith Seitz  <keiths@redhat.com>
+
+       * gdb.mi/mi-var-child-f.exp: Pass f90 to gdb_compile instead
+       of f77.
+       Allow for compiler variations of integer types.
+       Use mi_create_varobj.
+       Use mi_list_varobj_children for the immediate children of `array'.
+       Add "has_more" attribute for grandchildren test.
+
 2013-07-26  Pedro Alves  <palves@redhat.com>
 
        * gdb.base/interrupt-noterm.c, gdb.base/interrupt-noterm.exp: New
index 762a90d..79d49bd 100644 (file)
@@ -28,7 +28,7 @@ if [mi_gdb_start] {
 standard_testfile array.f
 
 if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
-        executable {debug f77}] != ""} {
+        executable {debug f90}] != ""} {
     return -1
 }
 
@@ -37,14 +37,20 @@ mi_gdb_load ${binfile}
 
 mi_runto MAIN__
 
-mi_gdb_test "-var-create array * array" \
-    "\\^done,name=\"array\",numchild=\"3\",value=\".*\",type=\"integer \\(2,-1:1\\)\"" \
-    "create local variable array"
+mi_create_varobj "array" "array" "create local variable array"
 
-mi_gdb_test "-var-list-children --all-values array" \
-    "\\^done,numchild=\"3\",children=\\\[child=\{name=\"array.-1\",exp=\"-1\",numchild=\"2\",value=\"\\\[2\\\]\",type=\"integer \\(2\\)\"\},child=\{name=\"array.0\",exp=\"0\",numchild=\"2\",value=\"\\\[2\\\]\",type=\"integer \\(2\\)\"\},child=\{name=\"array.1\",exp=\"1\",numchild=\"2\",value=\"\\\[2\\\]\",type=\"integer \\(2\\)\"\}\\\]" \
-    "get children of array"
+
+# Depending on the compiler version being used, the name of the 4-byte integer
+# and real types can be printed differently.  For instance, gfortran-4.1 uses
+# "int4" whereas gfortran-4.3 uses "integer(kind=4)".
+set int4 "(int4|integer\\(kind=4\\))"
+
+set children [list [list "array.-1" "-1" 2 "$int4 \\(2\\)"] \
+                 [list "array.0" "0" 2 "$int4 \\(2\\)"] \
+                 [list "array.1" "1" 2 "$int4 \\(2\\)"]]
+
+mi_list_varobj_children "array" $children "get children of array"
 
 mi_gdb_test "-var-list-children --all-values array.-1" \
-    "\\^done,numchild=\"2\",children=\\\[child=\{name=\"array.-1.1\",exp=\"1\",numchild=\"0\",value=\"11\",type=\"integer\"\},child=\{name=\"array.-1.2\",exp=\"2\",numchild=\"0\",value=\"21\",type=\"integer\"\}\\\]" \
+    "\\^done,numchild=\"2\",children=\\\[child=\{name=\"array.-1.1\",exp=\"1\",numchild=\"0\",value=\"11\",type=\"$int4\"\},child=\{name=\"array.-1.2\",exp=\"2\",numchild=\"0\",value=\"21\",type=\"$int4\"\}\\\],has_more=\"0\"" \
     "get grandchildren of array (children of first element of second index)"