Fix compile time warning messages about constant expressions where a value is being...
authorNick Clifton <nickc@redhat.com>
Tue, 11 Aug 2015 09:07:21 +0000 (10:07 +0100)
committerNick Clifton <nickc@redhat.com>
Tue, 11 Aug 2015 09:07:21 +0000 (10:07 +0100)
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.

gas/ChangeLog
gas/config/tc-arm.c

index 2e5aa4fdcfe6f026bd49739f1d3df656186aa6b1..9cf4ab4ffad594a9d2a5b6cc70c698c125a24584 100644 (file)
@@ -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.
index 899bfa20ae83ec8e6a786aea8e5d6b5bf4471447..b7edb5e06f555f53b77a19c82ae92c57bcf4a890 100644 (file)
@@ -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);
   }
 }
 \f
@@ -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;