From: Kevin Buettner <kevinb@redhat.com>
To: Tom Tromey <tom@tromey.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 4/8] Avoid shadowing in linux-tdep.c
Date: Fri, 12 Oct 2018 04:50:00 -0000 [thread overview]
Message-ID: <20181011215043.47e1a6fc@pinnacle.lan> (raw)
In-Reply-To: <20180923040814.27941-5-tom@tromey.com>
On Sat, 22 Sep 2018 22:08:10 -0600
Tom Tromey <tom@tromey.com> wrote:
> This is one of the uglier changes to avoid local shadowing. Because
> obstack.h uses statement expressions, in some cases a nested obstack
> call will result in shadowing. Rather than try to fix obstack.h, this
> patch simply works around the one instance of this problem.
>
> gdb/ChangeLog
> 2018-09-22 Tom Tromey <tom@tromey.com>
>
> * linux-tdep.c (linux_make_mappings_corefile_notes): Introduce new
> variable "size".
> ---
> gdb/ChangeLog | 5 +++++
> gdb/linux-tdep.c | 3 ++-
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
> index 8c76ec316b..352114943f 100644
> --- a/gdb/linux-tdep.c
> +++ b/gdb/linux-tdep.c
> @@ -1547,8 +1547,9 @@ linux_make_mappings_corefile_notes (struct gdbarch *gdbarch, bfd *obfd,
> long_type, mapping_data.file_count);
>
> /* Copy the filenames to the data obstack. */
> + int size = obstack_object_size (&filename_obstack);
> obstack_grow (&data_obstack, obstack_base (&filename_obstack),
> - obstack_object_size (&filename_obstack));
> + size);
>
> note_data = elfcore_write_note (obfd, note_data, note_size,
> "CORE", NT_FILE,
> --
> 2.17.1
It took me a while to understand this one. IIUC, the problem is that __o
in obstack_object_size will shadow __o in obstack_grow.
Yeah, this is ugly. But I can't think of a better way to fix it short
of mucking about in obstack.h.
My only suggestion is to add a brief comment on the matter so that
someone else doesn't rewrite this code back to the way it was before
this patch. Otherwise, LGTM.
Kevin
next prev parent reply other threads:[~2018-10-12 4:50 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-23 4:08 [PATCH 0/8] Add -Wshadow=local Tom Tromey
2018-09-23 4:08 ` [PATCH 2/8] Avoid shadowing in gdbserver Tom Tromey
2018-10-12 4:19 ` Kevin Buettner
2018-09-23 4:08 ` [PATCH 5/8] Fix latent bug in msp430-tdep.c Tom Tromey
2018-10-12 4:10 ` Kevin Buettner
2018-09-23 4:08 ` [PATCH 3/8] Use std::string in mdebugread.c Tom Tromey
2018-10-12 4:27 ` Kevin Buettner
2018-09-23 4:08 ` [PATCH 8/8] Add -Wshadow=local Tom Tromey
2018-09-23 4:08 ` [PATCH 7/8] Shadowing fix in gdbscm_frame_read_var Tom Tromey
[not found] ` <6d098a36-c483-77b8-61a6-87768c29f5d5@ericsson.com>
2018-10-04 12:44 ` Tom Tromey
2018-09-23 4:08 ` [PATCH 4/8] Avoid shadowing in linux-tdep.c Tom Tromey
2018-10-12 4:50 ` Kevin Buettner [this message]
2018-09-23 4:08 ` [PATCH 6/8] Avoid shadowing in fdwalk Tom Tromey
2018-10-12 4:54 ` Kevin Buettner
2018-09-23 4:09 ` [PATCH 1/8] Simple -Wshadow=local fixes Tom Tromey
2018-10-04 3:36 ` Simon Marchi
2018-10-04 12:22 ` Simon Marchi
2018-10-04 12:43 ` Tom Tromey
2018-10-03 15:02 ` [PATCH 0/8] Add -Wshadow=local Simon Marchi
[not found] ` <c0393dbe-9dbe-837a-b93d-7c2825ef3649@ericsson.com>
[not found] ` <04748d1d-0fe6-76ad-31f1-68657f8e0d56@redhat.com>
2018-10-03 17:53 ` Joel Brobecker
2018-10-05 4:57 ` Tom Tromey
2018-10-05 9:06 ` Rainer Orth
2018-10-05 11:14 ` Joel Brobecker
2018-10-05 13:37 ` [SPAM] " Tom Tromey
2018-10-05 15:58 ` Rainer Orth
2018-10-12 5:25 ` Kevin Buettner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181011215043.47e1a6fc@pinnacle.lan \
--to=kevinb@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=tom@tromey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox