From patchwork Wed Dec 18 16:35:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 36943 Received: (qmail 125468 invoked by alias); 18 Dec 2019 16:35:49 -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 125455 invoked by uid 89); 18 Dec 2019 16:35:49 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-22.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=7711 X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 18 Dec 2019 16:35:48 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 8D3905601A; Wed, 18 Dec 2019 11:35:46 -0500 (EST) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id W6vgaNpfhB4f; Wed, 18 Dec 2019 11:35:46 -0500 (EST) Received: from murgatroyd (75-166-123-50.hlrn.qwest.net [75.166.123.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by rock.gnat.com (Postfix) with ESMTPSA id 3048856016; Wed, 18 Dec 2019 11:35:46 -0500 (EST) From: Tom Tromey To: Pedro Alves Cc: Tom Tromey , gdb-patches@sourceware.org Subject: Re: [PATCH] Fix build failure on macOS References: <20191218150518.8540-1-tromey@adacore.com> <69bd0545-37c4-9e4b-a3dd-7c7c4cf6e3e6@redhat.com> Date: Wed, 18 Dec 2019 09:35:45 -0700 In-Reply-To: <69bd0545-37c4-9e4b-a3dd-7c7c4cf6e3e6@redhat.com> (Pedro Alves's message of "Wed, 18 Dec 2019 16:21:27 +0000") Message-ID: <87pngloala.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 >>>>> "Pedro" == Pedro Alves writes: Pedro> I'd rather rename SIGNED to FIELD_SIGNED as well, for consistency. Pedro> It no longer looks funny that way. Here's v2. Tom commit 445716fd7ce9d59ec463047fb441b63a52544581 Author: Tom Tromey Date: Wed Dec 18 08:03:01 2019 -0700 Fix build failure on macOS PR build/25250 notes that the gdb 9 pre-release fails to build on macOS, due to a name clash between field_kind::STRING and the STRING token in ada-exp.y. I am not sure (I couldn't reproduce this myself), but presumably this is due to differences caused by the version of bison in use there. This patch works around the problem by renaming the field_kind enumerator. I chose to rename this one because it is used in relatively few places -- it's just an implementation detail of the style code. This version also renames field_kind::SIGNED for consistency. Let me know what you think. I intend to check this in on the gdb 9 branch as well. gdb/ChangeLog 2019-12-18 Tom Tromey PR build/25250: * ui-out.c (ui_out::vmessage): Update. * ui-out.h (enum class field_kind) : Rename. (string_field): Update. (signed_field): Update. Change-Id: Iae9f36f1b793e22c61fee0de2ab2d508668ee7e4 diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 91b81f242c0..8c74bbc1e00 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2019-12-18 Tom Tromey + + PR build/25250: + * ui-out.c (ui_out::vmessage): Update. + * ui-out.h (enum class field_kind) : + Rename. + (string_field): Update. + (signed_field): Update. + 2019-12-17 Christian Biesinger * bsd-kvm.c: Include gdbsupport/pathstuff.h. diff --git a/gdb/ui-out.c b/gdb/ui-out.c index 80845f4bcaa..2b3b7e4accb 100644 --- a/gdb/ui-out.c +++ b/gdb/ui-out.c @@ -730,13 +730,13 @@ ui_out::vmessage (const ui_file_style &in_style, const char *format, base_field_s *bf = va_arg (args, base_field_s *); switch (bf->kind) { - case field_kind::SIGNED: + case field_kind::FIELD_SIGNED: { auto *f = (signed_field_s *) bf; field_signed (f->name, f->val); } break; - case field_kind::STRING: + case field_kind::FIELD_STRING: { auto *f = (string_field_s *) bf; field_string (f->name, f->str); diff --git a/gdb/ui-out.h b/gdb/ui-out.h index 5c96a7825be..c3ef8a57006 100644 --- a/gdb/ui-out.h +++ b/gdb/ui-out.h @@ -77,8 +77,11 @@ enum ui_out_type /* The possible kinds of fields. */ enum class field_kind { - SIGNED, - STRING, + /* "FIELD_STRING" needs has a funny name to avoid clashes with + tokens named "STRING". See PR build/25250. FIELD_SIGNED is + given a similar name for consistency. */ + FIELD_SIGNED, + FIELD_STRING, }; /* The base type of all fields that can be emitted using %pF. */ @@ -105,7 +108,7 @@ signed_field (const char *name, LONGEST val, signed_field_s &&tmp = {}) { tmp.name = name; - tmp.kind = field_kind::SIGNED; + tmp.kind = field_kind::FIELD_SIGNED; tmp.val = val; return &tmp; } @@ -126,7 +129,7 @@ string_field (const char *name, const char *str, string_field_s &&tmp = {}) { tmp.name = name; - tmp.kind = field_kind::STRING; + tmp.kind = field_kind::FIELD_STRING; tmp.str = str; return &tmp; }