From: Chen Gang <gang.chen.5i5j@gmail.com>
To: gdb-patches@sourceware.org
Cc: Pedro Alves <palves@redhat.com>,
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject: [PATCH v2] gdb/i387-tdep.c: Avoid warning for "-Werror=strict-overflow"
Date: Sun, 12 Oct 2014 13:22:00 -0000 [thread overview]
Message-ID: <543A8208.9060605@gmail.com> (raw)
gdb requires "-Werror", and I387_ST0_REGNUM (tdep) is 'variable', then
compiler can think that I387_ST0_REGNUM (tdep) may be a large number,
which may cause issue, so report warning.
Need fix this warning, and still keep the code clear enough for readers.
The related warning under Darwin with gnu built gcc:
gcc -g -O2 -I. -I../../binutils-gdb/gdb -I../../binutils-gdb/gdb/common -I../../binutils-gdb/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../binutils-gdb/gdb/../include/opcode -I../../binutils-gdb/gdb/../opcodes/.. -I../../binutils-gdb/gdb/../readline/.. -I../bfd -I../../binutils-gdb/gdb/../bfd -I../../binutils-gdb/gdb/../include -I../libdecnumber -I../../binutils-gdb/gdb/../libdecnumber -I../../binutils-gdb/gdb/gnulib/import -Ibuild-gnulib/import -DTUI=1 -D_THREAD_SAFE -I/usr/local/Cellar/guile/2.0.11/include/guile/2.0 -I/usr/local/Cellar/gmp/6.0.0a/include -I/usr/local/Cellar/readline/6.3.5/include -I/usr/local/Cellar/bdw-gc/7.2e/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wpointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-protot
ypes -Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type -Wold-style-declaration -Wold-style-definition -Wformat-nonliteral -Werror -c -o i387-tdep.o -MT i387-tdep.o -MMD -MP -MF .deps/i387-tdep.Tpo ../../binutils-gdb/gdb/i387-tdep.c
../../binutils-gdb/gdb/i387-tdep.c: In function 'i387_supply_fsave':
../../binutils-gdb/gdb/i387-tdep.c:447:1: error: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Werror=strict-overflow]
i387_supply_fsave (struct regcache *regcache, int regnum, const void *fsave)
^
../../binutils-gdb/gdb/i387-tdep.c: In function 'i387_collect_fsave':
../../binutils-gdb/gdb/i387-tdep.c:502:1: error: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Werror=strict-overflow]
i387_collect_fsave (const struct regcache *regcache, int regnum, void *fsave)
^
cc1: all warnings being treated as errors
2014-10-13 Chen Gang <gang.chen.5i5j@gmail.com>
* i387-tdep.c (i387_supply_fsave): Avoid warning for
"-Werror=strict-overflow"
---
gdb/i387-tdep.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/gdb/i387-tdep.c b/gdb/i387-tdep.c
index d66ac6a..609b5be 100644
--- a/gdb/i387-tdep.c
+++ b/gdb/i387-tdep.c
@@ -450,11 +450,12 @@ i387_supply_fsave (struct regcache *regcache, int regnum, const void *fsave)
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
const gdb_byte *regs = fsave;
- int i;
+ int i, end;
gdb_assert (tdep->st0_regnum >= I386_ST0_REGNUM);
- for (i = I387_ST0_REGNUM (tdep); i < I387_XMM0_REGNUM (tdep); i++)
+ end = I387_XMM0_REGNUM (tdep); /* -Werror=strict-overflow for (X + c) >= X */
+ for (i = I387_ST0_REGNUM (tdep); i < end; i++)
if (regnum == -1 || regnum == i)
{
if (fsave == NULL)
@@ -503,11 +504,12 @@ i387_collect_fsave (const struct regcache *regcache, int regnum, void *fsave)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (get_regcache_arch (regcache));
gdb_byte *regs = fsave;
- int i;
+ int i, end;
gdb_assert (tdep->st0_regnum >= I386_ST0_REGNUM);
- for (i = I387_ST0_REGNUM (tdep); i < I387_XMM0_REGNUM (tdep); i++)
+ end = I387_XMM0_REGNUM (tdep); /* -Werror=strict-overflow for (X + c) >= X */
+ for (i = I387_ST0_REGNUM (tdep); i < end; i++)
if (regnum == -1 || regnum == i)
{
/* Most of the FPU control registers occupy only 16 bits in
--
1.8.5.2 (Apple Git-48)
next reply other threads:[~2014-10-12 13:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-12 13:22 Chen Gang [this message]
2014-10-12 14:13 ` Iain Buclaw
2014-10-12 14:41 ` Chen Gang
2014-10-12 17:48 ` Iain Buclaw
2014-10-13 15:16 ` Mark Kettenis
2014-10-13 15:59 ` Chen Gang
2014-10-14 21:31 ` Chen Gang
2014-10-15 18:47 ` Joel Brobecker
2014-10-15 18:59 ` Mark Kettenis
2014-10-12 23:48 Chen Gang
2014-11-10 1:39 ` Chen Gang
2015-01-09 21:50 ` Chen Gang S
2014-10-16 0:03 Chen Gang
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=543A8208.9060605@gmail.com \
--to=gang.chen.5i5j@gmail.com \
--cc=gdb-patches@sourceware.org \
--cc=mark.kettenis@xs4all.nl \
--cc=palves@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