From: Walfred Tedeschi <walfred.tedeschi@intel.com>
To: michael.sturm@intel.com
Cc: Mark Kettenis <mark.kettenis@xs4all.nl>,
amodra@gmail.com, gbenson@redhat.com, michael.sturm@intel.com,
binutils@sourceware.org, gdb-patches@sourceware.org
Subject: Re: [PATCH] gdb/i387-tdep.c: Avoid warning for "-Werror=strict-overflow"
Date: Thu, 09 Oct 2014 10:06:00 -0000 [thread overview]
Message-ID: <54365E01.6060800@intel.com> (raw)
In-Reply-To: <542EE1BF.7060203@redhat.com>
Am 10/3/2014 7:49 PM, schrieb Pedro Alves:
> On 10/03/2014 05:44 PM, Joel Brobecker wrote:
>>>> Sorry, but obfuscating code to make compilers happy is *not* the way to go.
>>>>
>>> OK, I can understand, but for me, these is no other better ways for it,
>>> except let gdb give up "-Werror" (if always need "--disable-werror"
>>> during "configure").
>> I have to agree with Mark on this one, the proposed solution looks
>> awful. There has to be another way. Maybe declaring a local constant
>> whose value is I387_XMM0_REGNUM (tdep)?
> Likely, after transformations and intra-procedural analyses, gcc would
> end up with the same.
>
> This:
>
> for (i = I387_ST0_REGNUM (tdep); i < I387_XMM0_REGNUM (tdep); i++)
>
> always iterates exactly 16 times, because I387_XMM0_REGNUM
> is defined like:
>
> #define I387_XMM0_REGNUM(tdep) (I387_ST0_REGNUM (tdep) + 16)
>
> An alternative I think might work would be to give that magic
> 16 constant a name, say:
>
> #define I387_NUM_ST_REGS 16
>
> and then do:
>
> for (i = 0; i < i < I387_NUM_ST_REGS; i++)
> {
> int r = I387_ST0_REGNUM (tdep) + i;
>
> ... use 'r' instead of 'i' ...
> }
>
> Thanks,
> Pedro Alves
>
Later on we have introduced the _END macros, as can be seen on i387-tdep.h.
Creating one or two of them migh be a good idea to homogeinize the way
we handle the registers.
This will finally also join together all ideas presented before in only one.
Using the end will then make
for (i = I387_ST0_REGNUM (tdep); i < I387_XMM0_REGNUM (tdep); i++)
to be
for (i = I387_ST0_REGNUM (tdep); i < I387_STEND_REGNUM (tdep); i++)
We also define the number of regs for every technology in that file.
Thanks and regards,
-Fred and Michael
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
next prev parent reply other threads:[~2014-10-09 10:06 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-03 15:24 Chen Gang
2014-10-03 15:46 ` Mark Kettenis
2014-10-03 16:02 ` Chen Gang
2014-10-03 16:44 ` Joel Brobecker
2014-10-03 18:47 ` Pedro Alves
2014-10-04 5:12 ` Chen Gang
2014-10-06 8:41 ` Pedro Alves
2014-10-06 13:29 ` Chen Gang
2014-10-10 11:22 ` Chen Gang
2014-10-09 10:06 ` Walfred Tedeschi [this message]
2014-10-09 11:20 ` Pedro Alves
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=54365E01.6060800@intel.com \
--to=walfred.tedeschi@intel.com \
--cc=amodra@gmail.com \
--cc=binutils@sourceware.org \
--cc=gbenson@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=mark.kettenis@xs4all.nl \
--cc=michael.sturm@intel.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