public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] gdb: fix -Wtautological-overlap-compare error in lm32-tdep.c
@ 2020-05-21 17:31 Simon Marchi
  0 siblings, 0 replies; only message in thread
From: Simon Marchi @ 2020-05-21 17:31 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=aa370940e202a165ddc0be2fdc4383a82101a678

commit aa370940e202a165ddc0be2fdc4383a82101a678
Author: Simon Marchi <simon.marchi@efficios.com>
Date:   Thu May 21 13:22:10 2020 -0400

    gdb: fix -Wtautological-overlap-compare error in lm32-tdep.c
    
    Building with clang 11, we get:
    
        /home/smarchi/src/binutils-gdb/gdb/lm32-tdep.c:84:44: error: overlapping comparisons always evaluate to false [-Werror,-Wtautological-overlap-compare]
            return ((regnum >= SIM_LM32_EA_REGNUM) && (regnum <= SIM_LM32_BA_REGNUM))
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Indeed, this doesn't make sense, as EA_REGNUM is greater than BA_REGNUM.
    I'll assume that it was just a mistake and that these two should be
    swapped.
    
    The regnums for BA and EA are contiguous, so ultimately this particular
    part of the condition is only true if regnum is == EA or == BA.  These
    registers are Exception Address and Breakpoint Address, so I guess it
    makes sense for them to be in the system register group.
    
    The relevant reference is here:
    
      https://www.latticesemi.com/-/media/LatticeSemi/Documents/UserManuals/JL/LatticeMico32ProcessorReferenceManual39.ashx?document_id=52077
    
    gdb/ChangeLog:
    
            * lm32-tdep.c (lm32_register_reggroup_p): Fix condition.

Diff:
---
 gdb/ChangeLog   | 4 ++++
 gdb/lm32-tdep.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 45744405788..0b38daf3e3d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2020-05-21  Simon Marchi  <simon.marchi@efficios.com>
+
+	* lm32-tdep.c (lm32_register_reggroup_p): Fix condition.
+
 2020-05-21  Simon Marchi  <simon.marchi@efficios.com>
 
 	* coffread.c (patch_type): Remove NULL check before xfree.
diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c
index 6b5bb1507ff..73f8ae746f7 100644
--- a/gdb/lm32-tdep.c
+++ b/gdb/lm32-tdep.c
@@ -81,7 +81,7 @@ lm32_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
     return ((regnum >= SIM_LM32_R0_REGNUM) && (regnum <= SIM_LM32_RA_REGNUM))
       || (regnum == SIM_LM32_PC_REGNUM);
   else if (group == system_reggroup)
-    return ((regnum >= SIM_LM32_EA_REGNUM) && (regnum <= SIM_LM32_BA_REGNUM))
+    return ((regnum >= SIM_LM32_BA_REGNUM) && (regnum <= SIM_LM32_EA_REGNUM))
       || ((regnum >= SIM_LM32_EID_REGNUM) && (regnum <= SIM_LM32_IP_REGNUM));
   return default_register_reggroup_p (gdbarch, regnum, group);
 }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-21 17:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-21 17:31 [binutils-gdb] gdb: fix -Wtautological-overlap-compare error in lm32-tdep.c Simon Marchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).