From patchwork Fri May 8 18:23:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luis Machado X-Patchwork-Id: 6639 Received: (qmail 115898 invoked by alias); 8 May 2015 18:23:33 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 115887 invoked by uid 89); 8 May 2015 18:23:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 08 May 2015 18:23:31 +0000 Received: from svr-orw-fem-03.mgc.mentorg.com ([147.34.97.39]) by relay1.mentorg.com with esmtp id 1Yqmvo-0006CU-5e from Luis_Gustavo@mentor.com ; Fri, 08 May 2015 11:23:28 -0700 Received: from [172.30.2.216] (147.34.91.1) by svr-orw-fem-03.mgc.mentorg.com (147.34.97.39) with Microsoft SMTP Server id 14.3.224.2; Fri, 8 May 2015 11:23:28 -0700 Message-ID: <554CFF15.1090206@codesourcery.com> Date: Fri, 8 May 2015 15:23:17 -0300 From: Luis Machado Reply-To: Luis Machado User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Joel Brobecker CC: Subject: Re: [PATCH v2 1/3] Add zero-padded hexadecimal format support for varobj's References: <1431020207-14371-1-git-send-email-lgustavo@codesourcery.com> <1431020207-14371-2-git-send-email-lgustavo@codesourcery.com> <20150508172831.GC4767@adacore.com> In-Reply-To: <20150508172831.GC4767@adacore.com> X-IsSubscribed: yes On 05/08/2015 02:28 PM, Joel Brobecker wrote: >> gdb/ChangeLog: >> >> 2015-05-07 Luis Machado >> >> * gdb/mi/mi-cmd-var.c (mi_parse_format): Handle new "zero-hexadecimal" >> format. >> * gdb/varobj.c (varobj_format_string): Add "zero-hexadecimal" entry. >> (format_code): Add 'z' entry. >> (varobj_set_display_format): Handle FORMAT_ZHEXADECIMAL. >> * gdb/varobj.h (varobj_display_formats) : New enum >> field. > > I don't normally have authority to approve, but the patch looks > sufficiently mechanical that I think I can provide approval if > the area maintainer isn't available. > > In the meantime, I noticed a few nits (formatting, mostly). > >> error (_("Must specify the format as: \"natural\", " >> - "\"binary\", \"decimal\", \"hexadecimal\", or \"octal\"")); >> + "\"binary\", \"decimal\", \"hexadecimal\", \"octal\" or \"zero-hexadecimal\"")); > > The last line is too long. Can you split it? > >> @@ -50,7 +50,7 @@ show_varobjdebug (struct ui_file *file, int from_tty, >> >> /* String representations of gdb's format codes. */ >> char *varobj_format_string[] = >> - { "natural", "binary", "decimal", "hexadecimal", "octal" }; >> + { "natural", "binary", "decimal", "hexadecimal", "octal", "zero-hexadecimal" }; > > Same here. > >> --- a/gdb/varobj.h >> +++ b/gdb/varobj.h >> @@ -28,7 +28,8 @@ enum varobj_display_formats >> FORMAT_BINARY, /* Binary display */ >> FORMAT_DECIMAL, /* Decimal display */ >> FORMAT_HEXADECIMAL, /* Hex display */ >> - FORMAT_OCTAL /* Octal display */ >> + FORMAT_OCTAL, /* Octal display */ >> + FORMAT_ZHEXADECIMAL /* Zero padded hexadecimal */ >> }; > > I suggest adding a ',' at the end of FORMAT_ZHEXADECIMAL. > That way, next time we add a new enum, we can just add it > without touching the rest of the definition. > Thanks Joel. I've updated the patch with your suggestions now. Luis gdb/ChangeLog: 2015-05-08 Luis Machado * gdb/mi/mi-cmd-var.c (mi_parse_format): Handle new "zero-hexadecimal" format. * gdb/varobj.c (varobj_format_string): Add "zero-hexadecimal" entry. (format_code): Add 'z' entry. (varobj_set_display_format): Handle FORMAT_ZHEXADECIMAL. * gdb/varobj.h (varobj_display_formats) : New enum field. --- gdb/mi/mi-cmd-var.c | 5 ++++- gdb/varobj.c | 6 ++++-- gdb/varobj.h | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c index ee0bbc6..fcf3060 100644 --- a/gdb/mi/mi-cmd-var.c +++ b/gdb/mi/mi-cmd-var.c @@ -233,10 +233,13 @@ mi_parse_format (const char *arg) return FORMAT_HEXADECIMAL; else if (strncmp (arg, "octal", len) == 0) return FORMAT_OCTAL; + else if (strncmp (arg, "zero-hexadecimal", len) == 0) + return FORMAT_ZHEXADECIMAL; } error (_("Must specify the format as: \"natural\", " - "\"binary\", \"decimal\", \"hexadecimal\", or \"octal\"")); + "\"binary\", \"decimal\", \"hexadecimal\", \"octal\" or " + "\"zero-hexadecimal\"")); } void diff --git a/gdb/varobj.c b/gdb/varobj.c index b220fd8..87c48a4 100644 --- a/gdb/varobj.c +++ b/gdb/varobj.c @@ -50,7 +50,8 @@ show_varobjdebug (struct ui_file *file, int from_tty, /* String representations of gdb's format codes. */ char *varobj_format_string[] = - { "natural", "binary", "decimal", "hexadecimal", "octal" }; + { "natural", "binary", "decimal", "hexadecimal", "octal", + "zero-hexadecimal" }; /* True if we want to allow Python-based pretty-printing. */ static int pretty_printing = 0; @@ -214,7 +215,7 @@ static struct varobj *varobj_add_child (struct varobj *var, /* Private data */ /* Mappings of varobj_display_formats enums to gdb's format codes. */ -static int format_code[] = { 0, 't', 'd', 'x', 'o' }; +static int format_code[] = { 0, 't', 'd', 'x', 'o', 'z' }; /* Header of the list of root variable objects. */ static struct varobj_root *rootlist; @@ -583,6 +584,7 @@ varobj_set_display_format (struct varobj *var, case FORMAT_DECIMAL: case FORMAT_HEXADECIMAL: case FORMAT_OCTAL: + case FORMAT_ZHEXADECIMAL: var->format = format; break; diff --git a/gdb/varobj.h b/gdb/varobj.h index 8860526..0f643aa 100644 --- a/gdb/varobj.h +++ b/gdb/varobj.h @@ -28,7 +28,8 @@ enum varobj_display_formats FORMAT_BINARY, /* Binary display */ FORMAT_DECIMAL, /* Decimal display */ FORMAT_HEXADECIMAL, /* Hex display */ - FORMAT_OCTAL /* Octal display */ + FORMAT_OCTAL, /* Octal display */ + FORMAT_ZHEXADECIMAL, /* Zero-padded hexadecimal */ }; enum varobj_type -- 1.9.1