Fix error building Microblaze assembler on a 32-bit host.
authorNick Clifton <nickc@redhat.com>
Mon, 1 Feb 2016 11:36:59 +0000 (11:36 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 1 Feb 2016 11:36:59 +0000 (11:36 +0000)
* config/tc-microblaze.c (parse_imm): Fix compile time warning
message extending a negative 32-bit value into a larger signed
value on a 32-bit host.

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

index 3ed4665..027b556 100644 (file)
@@ -1,3 +1,9 @@
+2016-02-01  Nick Clifton  <nickc@redhat.com>
+
+       * config/tc-microblaze.c (parse_imm): Fix compile time warning
+       message extending a negative 32-bit value into a larger signed
+       value on a 32-bit host.
+
 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR gas/19532
index 01341d4..5484b30 100644 (file)
@@ -737,9 +737,9 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
     as_fatal (_("operand must be a constant or a label"));
   else if (e->X_op == O_constant)
     {
-      /* Special case: sign extend negative 32-bit values to 64-bits.  */
+      /* Special case: sign extend negative 32-bit values to offsetT size.  */
       if ((e->X_add_number >> 31) == 1)
-       e->X_add_number |= -((offsetT) 1 << 31);
+       e->X_add_number |= -((addressT) (1U << 31));
 
       if (e->X_add_number < min || e->X_add_number > max)
        {