+Fri Oct 10 11:22:45 1997 Martin M. Hunt <hunt@cygnus.com>
+
+ * config/tc-d10v.c: Fixes to make sure the AT_WORD
+ expression is not confused with -1.
+
Fri Oct 10 11:54:50 1997 Andrew Cagney <cagney@b1.cygnus.com>
* config/tc-d10v.c (parallel_ok): Flag SP as modified for @-sp
/* then it was really a symbol, so change it to one */
exp[numops].X_op = O_symbol;
exp[numops].X_add_symbol = symbol_find_or_make ((char *)exp[numops].X_op_symbol);
- exp[numops].X_op_symbol = NULL;
}
+ exp[numops].X_op_symbol = (struct symbol *)-1;
exp[numops].X_add_number = AT_WORD;
input_line_pointer += 5;
}
if (fixups->fc >= MAX_INSN_FIXUPS)
as_fatal ("too many fixups");
- if (opers[i].X_op == O_symbol && number == AT_WORD)
+ if (opers[i].X_op == O_symbol && number == AT_WORD &&
+ opers[i].X_op_symbol == (struct symbol *)-1 )
{
number = opers[i].X_add_number = 0;
fixups->fix[fixups->fc].reloc = BFD_RELOC_D10V_18;
else
value = S_GET_VALUE(myops[opnum].X_add_symbol);
- if (myops[opnum].X_add_number == AT_WORD)
+ if (myops[opnum].X_add_number == AT_WORD &&
+ myops[opnum].X_op_symbol == (struct symbol *)-1)
{
if (bits > 4)
{