[PATCH] gdb/hppa-tdep.c: Fix a logical typo bug found by compiler warning

Chen Gang
2014-10-14T21:21:39Z

'(inst >> 6) & 0xf)' need compare with both '0x8' and '0x9', original
implementation missed additional '(' and ')' for it, which will cause
logical bug (will skip '0x8' checking).

The related warning under gcc5:

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 -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wpointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type -Wold-style-declaration -Wold-style-definition -Wformat-nonliteral -Werror -c -o hppa-tdep.o -MT hppa-tdep.o -MMD -MP -MF .deps/hppa-tdep.Tpo ../../binutils-gdb/gdb/hppa-tdep.c
../../binutils-gdb/gdb/hppa-tdep.c: In function 'inst_saves_gr':
../../binutils-gdb/gdb/hppa-tdep.c:1406:30: error: comparison of constant '9' with boolean expression is always false [-Werror=bool-compare]
|| (inst >> 6) & 0xf) == 0x9))
^
cc1: all warnings being treated as errors

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
gdb/hppa-tdep.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 627f31a..51edead 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -1403,7 +1403,7 @@ inst_saves_gr (unsigned long inst)
if ((inst >> 26) == 0x19 || (inst >> 26) == 0x18
|| ((inst >> 26) == 0x3
&& (((inst >> 6) & 0xf) == 0x8
- || (inst >> 6) & 0xf) == 0x9))
+ || ((inst >> 6) & 0xf) == 0x9)))
return hppa_extract_5R_store (inst);

return 0;
--
1.9.3