[binutils-gdb] gas: Fix x86 build with GCC 6.4

H.J. Lu hjl@sourceware.org
Fri Mar 8 16:12:03 GMT 2024


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

commit 03fa0c63d3a5944afcf031ecf0b433b2985e6eeb
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Mar 8 08:08:02 2024 -0800

    gas: Fix x86 build with GCC 6.4
    
    Add "()" to silence GCC 6.4:
    
    .../gas/config/tc-i386.c: In function ‘x86_ginsn_lea’:
    .../gas/config/tc-i386.c:5738:19: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
       if (!i.base_reg != (!i.index_reg || i.index_reg->reg_num == RegIZ))
                       ^~
    cc1: all warnings being treated as errors
    
            PR gas/31464
            * config/tc-i386.c (x86_ginsn_lea): Add "()" to silence GCC 6.4.

Diff:
---
 gas/config/tc-i386.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index fecb25a3fe2..532f8f58b0a 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -5735,7 +5735,7 @@ x86_ginsn_lea (const symbolS *insn_end_sym)
   unsigned int dst_reg;
   bool index_regiz_p;
 
-  if (!i.base_reg != (!i.index_reg || i.index_reg->reg_num == RegIZ))
+  if ((!i.base_reg) != (!i.index_reg || i.index_reg->reg_num == RegIZ))
     {
       /* lea disp(%base), %dst    or    lea disp(,%index,imm), %dst.
 	 Either index_reg or base_reg exists, but not both.  Further, as per


More information about the Binutils-cvs mailing list