From: Eli Zaretskii <eliz@gnu.org>
To: Pierre Muller <pierre.muller@ics-cnrs.unistra.fr>
Cc: brobecker@adacore.com, gdb-patches@sourceware.org, vinschen@redhat.com
Subject: Re: [RFA] Fix cygwin32 failure introduced by [patch] windows-nat.c: Fix offset problem in signal string handling
Date: Wed, 27 Mar 2013 12:24:00 -0000 [thread overview]
Message-ID: <83obe5xgq2.fsf@gnu.org> (raw)
In-Reply-To: <005501ce2ac8$ae830150$0b8903f0$%muller@ics-cnrs.unistra.fr>
> From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
> Cc: <brobecker@adacore.com>, <gdb-patches@sourceware.org>, <vinschen@redhat.com>
> Date: Wed, 27 Mar 2013 09:54:23 +0100
>
> ../../src/gdb/windows-nat.c: In function 'handle_output_debug_string':
> ../../src/gdb/windows-nat.c:993:16: erreur: assignment makes pointer from integer without a cast
Right. But IMO the casts here are dubious to begin with. strtoull
produces a 64-bit value; casting it to a 32-bit uintptr_t might shut
up the compiler, but it doesn't solve the fundamental problem, which
is that a 64-bit value is being stuffed into a 32-bit wide pointer.
A cleaner way would be something like
sscanf (p, "%p", &x);
If that doesn't satisfy the compiler, either, then the following code,
which explicitly resets should be better than the double casts, IMO:
unsigned long xul;
...
xul = strtoull (p, NULL, 0) & ~((DWORD_PTR)0);
x = (LPCVOID) xul;
P.S. Yes, I hate casts, because they tend to conceal subtle bugs.
next prev parent reply other threads:[~2013-03-27 10:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-19 16:24 Corinna Vinschen
2013-03-20 2:25 ` Joel Brobecker
2013-03-20 9:36 ` Corinna Vinschen
2013-03-27 4:59 ` [RFA] Fix cygwin32 failure introduced by " Pierre Muller
2013-03-27 7:53 ` Joel Brobecker
2013-03-27 10:47 ` Corinna Vinschen
2013-03-27 11:13 ` Pierre Muller
[not found] ` <000101ce2a6b$8c855a60$a5900f20$%muller@ics-cnrs.unistra.fr>
2013-03-27 10:02 ` Eli Zaretskii
2013-03-27 10:53 ` Corinna Vinschen
2013-03-27 10:59 ` Pierre Muller
[not found] ` <005501ce2ac8$ae830150$0b8903f0$%muller@ics-cnrs.unistra.fr>
2013-03-27 12:24 ` Eli Zaretskii [this message]
2013-03-27 14:39 ` Eli Zaretskii
2013-03-27 14:50 ` Eli Zaretskii
2013-03-27 15:23 ` Corinna Vinschen
2013-03-27 16:06 ` Eli Zaretskii
2013-03-27 16:45 ` Corinna Vinschen
2013-03-27 16:58 ` Eli Zaretskii
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=83obe5xgq2.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=pierre.muller@ics-cnrs.unistra.fr \
--cc=vinschen@redhat.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