-Werror,-Wtautological-overlap-compare error in h8300-tdep.c

Simon Marchi simon.marchi@polymtl.ca
Fri May 15 21:05:44 GMT 2020


When building with clang 11, we get:

  CXX    h8300-tdep.o
/home/smarchi/src/binutils-gdb/gdb/h8300-tdep.c:225:21: error: overlapping comparisons always evaluate to false [-Werror,-Wtautological-overlap-compare]
              if (disp < 0 && disp > 0xffffff)
                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/smarchi/src/binutils-gdb/gdb/h8300-tdep.c:203:17: error: overlapping comparisons always evaluate to false [-Werror,-Wtautological-overlap-compare]
          if (disp < 0 && disp > 0xffffff)
              ~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/smarchi/src/binutils-gdb/gdb/h8300-tdep.c:184:17: error: overlapping comparisons always evaluate to false [-Werror,-Wtautological-overlap-compare]
          if (disp < 0 && disp > 0xffffff)
              ~~~~~~~~~^~~~~~~~~~~~~~~~~~

Indeed, disp (of type LONGEST) can't be less than 0 and greater than 0xffffff.

The closest thing I could find to an instruction set reference was this:

  https://www.renesas.com/cn/en/doc/products/mpumcu/001/e602025_h8300.pdf

... but it didn't really help me decode this code.  I'm reporting it in hope that
somebody that knows what they are doing would know how to fix it.

Yoshinori, I CCed you because you happen to be the last person who did a meaningful commit
in h8300-tdep.c, so maybe you have an idea.

Simon


More information about the Gdb-patches mailing list