From: Pedro Alves <pedro@codesourcery.com>
To: gdb-patches@sourceware.org
Cc: Joel Brobecker <brobecker@adacore.com>
Subject: Re: [commit] Fix -Wunused warning in dec-thread.c.
Date: Tue, 12 Jan 2010 12:23:00 -0000 [thread overview]
Message-ID: <201001121223.39632.pedro@codesourcery.com> (raw)
In-Reply-To: <1263282971-16934-1-git-send-email-brobecker@adacore.com>
On Tuesday 12 January 2010 07:56:11, Joel Brobecker wrote:
> From: brobecke <brobecke@f8352e7e-cb20-0410-8ce7-b5d9e71c585c>
>
> Hello,
>
> The compiler complains that the result of a couple of *PTR++ is never
> used. This is because the compiler is tricked by the way the pointer
> was defined. For instance:
>
> | dec_thread_count_gdb_threads (struct thread_info *ignored, void *context)
> | {
> | int *count = (int *) context;
>
> The compiler complains that the result is never used for the following
> line:
>
> | *count++;
>
> The result is stored for the caller to use, so it is in fact potentially
> used, but elsewhere...
>
> gdb/ChangeLog:
>
> * dec-thread.c (dec_thread_count_gdb_threads)
> (dec_thread_add_gdb_thread): Prevent -Wunused warning.
>
> Checked in.
>
> ---
> gdb/dec-thread.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gdb/dec-thread.c b/gdb/dec-thread.c
> index 5083221..be6db4c 100644
> --- a/gdb/dec-thread.c
> +++ b/gdb/dec-thread.c
> @@ -352,7 +352,7 @@ dec_thread_count_gdb_threads (struct thread_info *ignored, void *context)
> {
> int *count = (int *) context;
>
> - *count++;
> + (void) *count++; /* The cast to void is to prevent a -Wunused warning. */
> return 0;
> }
>
Does the resulting gdb actually count threads correctly?
'++' has higher precedence than '*', so '*count++'
is incrementing the count pointer, not what it points to.
The correct fix is either:
- *count++;
+ (*count)++;
or
- *count++;
+ ++*count;
Grepping for `grep iterate_over * | grep count' shows that the
`(*count)++' form is used at least in two places, giter_count
and count_events_callback:
aix-thread.c:/* iterate_over_threads() callback for counting GDB threads.
aix-thread.c: iterate_over_threads (giter_count, &gcount);
dec-thread.c: iterate_over_threads (dec_thread_count_gdb_threads,
linux-nat.c: iterate_over_lwps (filter, count_events_callback, &num_events);
--
Pedro Alves
prev parent reply other threads:[~2010-01-12 12:23 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-12 7:56 Joel Brobecker
2010-01-12 12:23 ` Pedro Alves [this message]
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=201001121223.39632.pedro@codesourcery.com \
--to=pedro@codesourcery.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
/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