start-sanitize-v850
+Thu Jul 31 15:13:43 1997 Jeffrey A Law (law@cygnus.com)
+
+ * config/tc-v850.c (md_assemble): Sign extend constants value
+ for hi and hi0 expressions.
+ (v850_insert_operand): Enable range checking for generic 16bit
+ operands.
+
Tue Jul 29 14:20:43 1997 Jeffrey A Law (law@cygnus.com)
* config/tc-v850.c (md_assemble): Turn on fx_no_overflow for
}
case BFD_RELOC_HI16:
- ex.X_add_number = ((ex.X_add_number >> 16) & 0xffff);
- break;
+ {
+ /* Truncate, then sign extend the value. */
+ int temp = (ex.X_add_number >> 16) & 0xffff;
+
+ /* XXX Assumes 32bit ints! */
+ temp = (temp << 16) >> 16;
+ ex.X_add_number = temp;
+ break;
+ }
case BFD_RELOC_HI16_S:
- ex.X_add_number = ((ex.X_add_number >> 16) & 0xffff)
- + ((ex.X_add_number >> 15) & 1);
- break;
+ {
+ /* Truncate, then sign extend the value. */
+ int temp = (ex.X_add_number >> 16) & 0xffff;
+
+ temp += (ex.X_add_number >> 15) & 1;
+
+ /* XXX Assumes 32bit ints! */
+ temp = (temp << 16) >> 16;
+ ex.X_add_number = temp;
+ break;
+ }
default:
break;
char *file;
unsigned int line;
{
- if (operand->bits != 16)
+ if (operand->bits != 32)
{
long min, max;
offsetT test;