This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix compile time warning messages about constant expressions where a value is being shifted into bit


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

commit eff0bc54a343fed1dd152f0a1b455b2438f76e6f
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 11 10:07:21 2015 +0100

    Fix compile time warning messages about constant expressions where a value is being shifted into bit 31.
    
    	PR gas/18765
    	* config/tc-arm.c (move_or_literal_pool): Use U suffix to remove
    	compile time warnings about constant expressions being shifted
    	into bit 31.
    	(do_iwmmxt_wldstd): Likewise.
    	(do_iwmmxt_wrwrwr_or_imm5): Likewise.
    	(md_assemble): Likewise.

Diff:
---
 gas/ChangeLog       |  8 ++++++++
 gas/config/tc-arm.c | 10 +++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2e5aa4f..9cf4ab4 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,13 @@
 2015-08-11  Nick Clifton  <nickc@redhat.com>
 
+	PR gas/18765
+	* config/tc-arm.c (move_or_literal_pool): Use U suffix to remove
+	compile time warnings about constant expressions being shifted
+	into bit 31.
+	(do_iwmmxt_wldstd): Likewise.
+	(do_iwmmxt_wrwrwr_or_imm5): Likewise.
+	(md_assemble): Likewise.
+
 	PR gas/18574
 	* config/tc-msp430.c (msp430_operands): Rewrite if statements to
 	remove redundant checks.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 899bfa2..b7edb5e 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -8000,9 +8000,9 @@ move_or_literal_pool (int i, enum lit_type t, bfd_boolean mode_3)
 
 		  /* Fill other bits in vmov encoding for both thumb and arm.  */
 		  if (thumb_mode)
-		    inst.instruction |= (0x7 << 29) | (0xF << 24);
+		    inst.instruction |= (0x7U << 29) | (0xF << 24);
 		  else
-		    inst.instruction |= (0xF << 28) | (0x1 << 25);
+		    inst.instruction |= (0xFU << 28) | (0x1 << 25);
 		  neon_write_immbits (immbits);
 		  return TRUE;
 		}
@@ -9974,7 +9974,7 @@ do_iwmmxt_wldstd (void)
       && inst.operands[1].immisreg)
     {
       inst.instruction &= ~0x1a000ff;
-      inst.instruction |= (0xf << 28);
+      inst.instruction |= (0xfU << 28);
       if (inst.operands[1].preind)
 	inst.instruction |= PRE_INDEX;
       if (!inst.operands[1].negative)
@@ -10053,7 +10053,7 @@ do_iwmmxt_wrwrwr_or_imm5 (void)
       }
     /* Map 32 -> 0, etc.  */
     inst.operands[2].imm &= 0x1f;
-    inst.instruction |= (0xf << 28) | ((inst.operands[2].imm & 0x10) << 4) | (inst.operands[2].imm & 0xf);
+    inst.instruction |= (0xfU << 28) | ((inst.operands[2].imm & 0x10) << 4) | (inst.operands[2].imm & 0xf);
   }
 }
 
@@ -17975,7 +17975,7 @@ md_assemble (char *str)
 
       inst.instruction = opcode->avalue;
       if (opcode->tag == OT_unconditionalF)
-	inst.instruction |= 0xF << 28;
+	inst.instruction |= 0xFU << 28;
       else
 	inst.instruction |= inst.cond << 28;
       inst.size = INSN_SIZE;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]