From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20483 invoked by alias); 26 Mar 2006 10:16:14 -0000 Received: (qmail 20474 invoked by uid 22791); 26 Mar 2006 10:16:14 -0000 X-Spam-Check-By: sourceware.org Received: from viper.snap.net.nz (HELO viper.snap.net.nz) (202.37.101.8) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 26 Mar 2006 10:16:11 +0000 Received: from kahikatea.snap.net.nz (p202-124-114-20.snap.net.nz [202.124.114.20]) by viper.snap.net.nz (Postfix) with ESMTP id 4968A74A4C3; Sun, 26 Mar 2006 22:16:02 +1200 (NZST) Received: by kahikatea.snap.net.nz (Postfix, from userid 500) id 0A83E88F7; Sun, 26 Mar 2006 22:14:29 +1200 (NZST) From: Nick Roberts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17446.27013.68291.439386@kahikatea.snap.net.nz> Date: Mon, 27 Mar 2006 01:25:00 -0000 To: Daniel Jacobowitz Cc: Wu Zhou , gdb-patches@sources.redhat.com Subject: Re: PATCH: Start Fortran support for variable objects. In-Reply-To: <20060324210718.GD26748@nevyn.them.org> References: <20050630131809.GB8241@nevyn.them.org> <17092.28833.284587.118362@farnswood.snap.net.nz> <17092.51062.559020.560618@farnswood.snap.net.nz> <20050703161706.GA13289@nevyn.them.org> <17096.30621.21570.307217@farnswood.snap.net.nz> <20050703234725.GA28151@nevyn.them.org> <17096.37817.638887.840041@farnswood.snap.net.nz> <20050704034904.GA5802@nevyn.them.org> <17428.64494.595245.325277@kahikatea.snap.net.nz> <20060324210718.GD26748@nevyn.them.org> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-03/txt/msg00302.txt.bz2 > > If I don't change c_name_of_child, I get variable object names like arr.0 > > as you suggest. However, then I also get exp="0" which I use for the > > index of the watch expression. I think this is confusing. > > Yeah. If I understand correctly, this patch will name the first > element of the array as var.-1 - is that right? Yes. > I think that's OK. However, please add a gdb.mi testcase, and use > temporary variables or wrapping where necessary to avoid the overlong > lines; you added two. How long is overlong? The longest two lines are 79 and 78 characters (heck, I could even fit them on a punched card!). I think their appearance gets slightly screwed up in the patch because they have tabs in them. > If the testcase is a problem let me know and > I'll take care of it. I've had a go (patch attached). Running the testsuite in gdb.mi I get: # of expected passes 1236 # of unexpected failures 7 # of expected failures 28 # of known failures 1 /home/nickrob/src/gdb/testsuite/../../gdb/gdb version 6.4.50.20060325-cvs -nx FAIL: gdb.mi/mi-file.exp: Getting a list of source files. FAIL: gdb.mi/mi-basics.exp: environment-directory arg operation FAIL: gdb.mi/mi-basics.exp: environment-directory empty-string operation FAIL: gdb.mi/mi-basics.exp: environment-path dir1 dir2 operation FAIL: gdb.mi/mi2-basics.exp: environment-directory arg operation FAIL: gdb.mi/mi2-basics.exp: environment-directory empty-string operation FAIL: gdb.mi/mi2-basics.exp: environment-path dir1 dir2 operation I'm pretty sure the fails have always been there for me. -- Nick http://www.inet.net.nz/~nickrob 2006-03-26 Nick Roberts * gdb.mi/mi-var-child-f.exp, gdb.mi/array.f: New files. c Copyright 2006 Free Software Foundation, Inc. c This program is free software; you can redistribute it and/or modify c it under the terms of the GNU General Public License as published by c the Free Software Foundation; either version 2 of the License, or c (at your option) any later version. c c This program is distributed in the hope that it will be useful, c but WITHOUT ANY WARRANTY; without even the implied warranty of c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the c GNU General Public License for more details. c c You should have received a copy of the GNU General Public License c along with GNU Emacs; see the file COPYING. If not, write to the c Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, c Boston, MA 02110-1301, USA. INTEGER array(1:2,-1:1) DATA array/11,21,12,22,13,23/ CONTINUE STOP END # Copyright 2006 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 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 GNU Emacs; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. # Test variable objects treat non-zero offsets in Fortran arrays correbtly. load_lib mi-support.exp set MIFLAGS "-i=mi" gdb_exit if [mi_gdb_start] { continue } set testfile "array" set srcfile ${testfile}.f set binfile ${objdir}/${subdir}/${testfile} if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } { untested "Couldn't compile ${srcfile}" return -1 } mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} mi_runto MAIN__ mi_gdb_test "-var-create array * array" \ "\\^done,name=\"array\",numchild=\"3\",type=\"integer \\(2,-1:1\\)\"" \ "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" 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\"\}\\\]" \ "get grandchildren of array (children of first element of second index)"