diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2020-05-21 13:22:10 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2020-05-21 13:22:10 -0400 |
commit | aa370940e202a165ddc0be2fdc4383a82101a678 (patch) | |
tree | 09eb4a59b9058d5b4b9e1a1ae399b16241a145f5 /gdb/lm32-tdep.c | |
parent | 84d53fa9d281f057af5916f8663bc9a2872c5f6e (diff) | |
download | fsf-binutils-gdb-aa370940e202a165ddc0be2fdc4383a82101a678.zip fsf-binutils-gdb-aa370940e202a165ddc0be2fdc4383a82101a678.tar.gz fsf-binutils-gdb-aa370940e202a165ddc0be2fdc4383a82101a678.tar.bz2 |
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.
Diffstat (limited to 'gdb/lm32-tdep.c')
-rw-r--r-- | gdb/lm32-tdep.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c index 6b5bb15..73f8ae7 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); } |