This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] testsuite: introduce index in varobj child eval.


Thanks for the feedback. I've attached the updated patch, which addresses your comments.

Keven


From 7c6728c1f92f92b54310ca1d74e113e6300e2ba4 Mon Sep 17 00:00:00 2001
From: Keven Boell <keven.boell@intel.com>
Date: Thu, 21 Nov 2013 10:54:47 +0100
Subject: [PATCH] testsuite: introduce index in varobj child eval.

In some languages, e.g. fortran, arrays start with index 1
instead 0. This patch changes the MI library to support testing
varobj children of fortran arrays.

2013-11-21  Keven Boell  <keven.boell@intel.com>

testsuite/

	* lib/mi-support.exp (mi_list_varobj_children_range): Add
	call to mi_list_array_varobj_children_with_index.
	(mi_list_array_varobj_children_with_index): New function.
	Add parameter to specify array start.



Signed-off-by: Keven Boell <keven.boell@intel.com>
---
 gdb/testsuite/lib/mi-support.exp |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp
index 0c3cdbe..cb7bf90 100644
--- a/gdb/testsuite/lib/mi-support.exp
+++ b/gdb/testsuite/lib/mi-support.exp
@@ -1487,9 +1487,18 @@ proc mi_list_varobj_children_range {varname from to numchildren children testnam
 # Verifies that variable object VARNAME has NUMBER children,
 # where each one is named $VARNAME.<index-of-child> and has type TYPE.
 proc mi_list_array_varobj_children { varname number type testname } {
+ mi_list_array_varobj_children_with_index $varname $number 0 $type $testname
+}
+
+# Same as mi_list_array_varobj_children, but allowing to pass a start index
+# for an array.
+proc mi_list_array_varobj_children_with_index { varname number start_index \
+  type testname } {
     set t {}
+    set index $start_index
     for {set i 0} {$i < $number} {incr i} {
-	lappend t [list $varname.$i $i 0 $type]
+	lappend t [list $varname.$index $index 0 $type]
+	incr index
     }
     mi_list_varobj_children $varname $t $testname
 }
--
1.7.9.5



On 26.11.2013 16:16, Tom Tromey wrote:
"Keven" == Keven Boell <keven.boell@intel.com> writes:

Keven>  # Verifies that variable object VARNAME has NUMBER children,
Keven>  # where each one is named $VARNAME.<index-of-child> and has type TYPE.
Keven>  proc mi_list_array_varobj_children { varname number type testname } {
Keven> +     mi_list_array_varobj_children_with_index $varname $number 0 $type $testname
Keven> +}
Keven> +proc mi_list_array_varobj_children_with_index { varname number start_index type testname } {

The new proc should be separated from the previous one by a blank line.
It should have an introductory comment as well.

Also the first line of the new proc is too long.  I think it should be
split in the arglist somewhere.

Tom



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]