Fix error building Microblaze assembler on a 32-bit host.

* 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.
This commit is contained in:
Nick Clifton 2016-02-01 11:36:59 +00:00
parent ec1f73bb0b
commit ac0d427f4b
2 changed files with 8 additions and 2 deletions

View 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

View 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)
{