From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8955 invoked by alias); 29 Jun 2005 21:28:36 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 8234 invoked by uid 22791); 29 Jun 2005 21:28:16 -0000 Received: from viper.snap.net.nz (HELO viper.snap.net.nz) (202.37.101.8) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Wed, 29 Jun 2005 21:28:16 +0000 Received: from farnswood.snap.net.nz (p109-tnt1.snap.net.nz [202.124.110.109]) by viper.snap.net.nz (Postfix) with ESMTP id 81AAC543B21 for ; Thu, 30 Jun 2005 09:28:07 +1200 (NZST) Received: by farnswood.snap.net.nz (Postfix, from userid 501) id DE6F462A99; Wed, 29 Jun 2005 22:29:17 +0100 (BST) From: Nick Roberts MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="JCW/C8h4m6" Content-Transfer-Encoding: 7bit Message-ID: <17091.4780.953681.620094@farnswood.snap.net.nz> Date: Wed, 29 Jun 2005 21:28:00 -0000 To: gdb-patches@sources.redhat.com Subject: PATCH: Start Fortran support for variable objects. X-Virus-Checked: Checked by ClamAV on sourceware.org X-SW-Source: 2005-06/txt/msg00384.txt.bz2 --JCW/C8h4m6 Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit Content-length: 1455 This patch adjusts the offset from 0 to 1 to allow the display of arrays in Fortran using variable objects. Currently given: DIMENSION I(4) DATA I/1,2,3,4/ (gdb) -var-create - * I ^done,name="var1",numchild="4",type="integer (4)" (gdb) -var-list-children var1 &"warning: array or string index out of range\n" ^done,numchild="4",children={child={name="var1.0",exp="0",numchild="0",type="integer"},child={name="var1.1",exp="1",numchild="0",type="integer"},child={name="var1.2",exp="2",numchild="0",type="integer"},child={name="var1.3",exp="3",numchild="0",type="integer"}} (gdb) This patch changes the output to: (gdb) -var-create - * I ^done,name="var1",numchild="4",type="integer (4)" (gdb) -var-list-children var1 ^done,numchild="4",children=[child={name="var1.1",exp="1",numchild="0",type="integer"},child={name="var1.2",exp="2",numchild="0",type="integer"},child={name="var1.3",exp="3",numchild="0",type="integer"},child={name="var1.4",exp="4",numchild="0",type="integer"}] (gdb) It doesn't add any new methods for finding values in Fortran but allows for this to be done later (hopefully someone else will pick this up). It should be safe to apply as it doesn't change behaviour for existing languages. In addition to the patch below, I attach the watch windows from my mode (gdb-ui.el) in Emacs 22.0.50 (in CVS) for Fortran and C to show the different offsets. gdb-mi.el in the GDB repository would work similarly. Nick --JCW/C8h4m6 Content-Type: image/png Content-Description: Fortran watch window Content-Disposition: inline; filename="fortran.png" Content-Transfer-Encoding: base64 Content-length: 4348 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 AABJRU5ErkJggg== --JCW/C8h4m6 Content-Type: image/png Content-Description: C watch window Content-Disposition: inline; filename="c.png" Content-Transfer-Encoding: base64 Content-length: 4844 iVBORw0KGgoAAAANSUhEUgAAAKsAAADhCAIAAAA4SdJEAAAABGdBTUEAALGP C/xhBQAAADh0RVh0U29mdHdhcmUAWFYgVmVyc2lvbiAzLjEwYSAgUmV2OiAx Mi8yOS85NCAoUE5HIHBhdGNoIDEuMindFS5JAAANVUlEQVR4nO2dL3ycyhbH 577PCkQE4ooVFYgKRMWKCEQEIgJREVERUYGIQFyxoiLiCsQTEU+siEBUrKiI qIioQFSsqEBErKhARCAqEBErKhArnpiEToaB5c8we3bnfD/5tHB2OAycw8ww P9glaZoSRFfSNJ3Ytl1si33X5GiZz+eLxWLftRAzn89t257Qlewx22tljpks y/ZdhSYm7Ir11mounef5dDotVzFvWtKpq/U8L47jUcuzSTkRl9qKPzEmRnAV +L7vnDntd4kQQtoHyfM8BeVLnuPMDgU2T5voNroOr8mW5Hme/EiMEyN5SLxz zzlzos+R7/vpz9QP/IEDiCiK6EIQBEP8tNwX3Uu5oJ6dA4I4jtlAjl2eIrjS fd8P/w2LovA8bzab3YQ3yy/LMAzjb/Hq+8o5c5xTpy72s3czQsj655ozchYa +zIS3OoRUCY3x+Zp08nP2OVJNQOW0dI9c2ezmX/lG4Yxezdb/ViRLYluo7uv d9YbK7qNvAsvz/I6j8W2MCZGGXKaE1XYeAdBUHfKDhG2meGOq2urWWwL640l /Cj7lQnLE0KsNxb7KbfKwWfAdDo1p2aSJGRLgqvg7uudc+p47z1SkKIozBPT nJrrZJ0/5Zu8Nt1oElSXG2BPGZsQbKKwZ7OTvdq6tPfP1md4K1UUHTOgvrzw o6Io7Lc2IcR6Y6WPKSGEW63ykgHb5//Tx9RxnM1mY7+z0zQ1DXO1WhkTI/uV mSfmar26/Hjpeu7UnJp/m+bUrHqM49jzvPtv96/GqNtXZYKrl3N6JTinURRR e/Q5YpfL8p3tNLTbPv7Z8txRvKozs3lwFdSWfLHbtl3amu4UtoIyz9sKd7El aZrSAjT2fzavqdJ/uPX5p3nykNzd3XnvvfwpL7aFe+Zmv7L1ek0MYp6Y6/Xa dV17ZpPJ88iCpfZIKgRXQXAVRJ8jeu64j7gFBXZan+byQughsJuzH3GWYlvQ v53G8iOuDGsRli+2BTfqWv9c1/kn1V6g+F1kj5n9zr78cOlf+cbEcM/d6Dby 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 Nywa5JqlAAAAAElFTkSuQmCC --JCW/C8h4m6 Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit Content-length: 3481 2005-06-30 Nick Roberts * varobj.h: Add Fortran to list of supported languages. * varobj.c (varobj_language_string, variable_language): Add Fortran. (languages) Add Fortran. Use c methods. (varobj_list_children): Adjust offset for Fortran. *** varobj.h.~1.4.~ 2001-08-18 06:56:49.000000000 +1200 --- varobj.h 2005-06-29 15:43:31.000000000 +1200 *************** *** 45,51 **** /* Languages supported by this variable objects system. */ enum varobj_languages { ! vlang_unknown = 0, vlang_c, vlang_cplus, vlang_java, vlang_end }; /* String representations of gdb's known languages (defined in varobj.c) */ --- 45,52 ---- /* Languages supported by this variable objects system. */ enum varobj_languages { ! vlang_unknown = 0, vlang_c, vlang_cplus, vlang_java, vlang_fortran, ! vlang_end }; /* String representations of gdb's known languages (defined in varobj.c) */ *** varobj.c.~1.54.~ 2005-06-29 00:28:57.000000000 +1200 --- varobj.c 2005-06-29 17:35:34.000000000 +1200 *************** *** 46,52 **** { "natural", "binary", "decimal", "hexadecimal", "octal" }; /* String representations of gdb's known languages */ ! char *varobj_language_string[] = { "unknown", "C", "C++", "Java" }; /* Data structures */ --- 46,52 ---- { "natural", "binary", "decimal", "hexadecimal", "octal" }; /* String representations of gdb's known languages */ ! char *varobj_language_string[] = { "unknown", "C", "C++", "Java", "Fortran" }; /* Data structures */ *************** *** 372,377 **** --- 372,389 ---- java_type_of_child, java_variable_editable, java_value_of_variable} + , + /* Fortran */ + { + vlang_fortran, + c_number_of_children, + c_name_of_variable, + c_name_of_child, + c_value_of_root, + c_value_of_child, + c_type_of_child, + c_variable_editable, + c_value_of_variable} }; /* A little convenience enum for dealing with C++/Java */ *************** *** 696,702 **** { struct varobj *child; char *name; ! int i; /* sanity check: have we been passed a pointer? */ if (childlist == NULL) --- 708,714 ---- { struct varobj *child; char *name; ! int i, j; /* sanity check: have we been passed a pointer? */ if (childlist == NULL) *************** *** 715,725 **** /* Mark as the end in case we bail out */ *((*childlist) + i) = NULL; /* check if child exists, if not create */ ! name = name_of_child (var, i); child = child_exists (var, name); if (child == NULL) ! child = create_child (var, i, name); *((*childlist) + i) = child; } --- 727,742 ---- /* Mark as the end in case we bail out */ *((*childlist) + i) = NULL; + if (variable_language (var) == vlang_fortran) + j = i + 1; + else + j = i; + /* check if child exists, if not create */ ! name = name_of_child (var, j); child = child_exists (var, name); if (child == NULL) ! child = create_child (var, j, name); *((*childlist) + i) = child; } *************** *** 1564,1570 **** case language_java: lang = vlang_java; break; ! } return lang; } --- 1581,1590 ---- case language_java: lang = vlang_java; break; ! case language_fortran: ! lang = vlang_fortran; ! break; ! } return lang; } --JCW/C8h4m6--