Use frag_now_fix_octets in gas d10v, d30v

obstack_next_free is supposed to return a void* rather than the char*
it does currently, so expressions involving pointer arithmetic need
a cast.  Avoid the issue.

	* config/tc-d10v.c (find_opcode): Call frag_now_fix_octets rather
	than equivalent obstack_next_free expression.
	* config/tc-d30v.c (find_format): Likewise.
This commit is contained in:
Alan Modra 2014-11-04 14:41:00 +10:30
parent 0cdcdbf8db
commit 127a8db1ed
3 changed files with 9 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2014-11-04 Alan Modra <amodra@gmail.com>
* config/tc-d10v.c (find_opcode): Call frag_now_fix_octets rather
than equivalent obstack_next_free expression.
* config/tc-d30v.c (find_format): Likewise.
2014-11-03 Nick Clifton <nickc@redhat.com>
* config/tc-msp430.c (msp430_srcoperand): Fix range test for

View File

@ -1226,9 +1226,7 @@ find_opcode (struct d10v_opcode *opcode, expressionS myops[])
sym_frag = symbol_get_frag (myops[opnum].X_add_symbol);
found_symbol = FALSE;
current_position =
obstack_next_free (&frchain_now->frch_obstack)
- frag_now->fr_literal;
current_position = frag_now_fix_octets ();
symbol_position = S_GET_VALUE (myops[opnum].X_add_symbol);
for (f = frchain_now->frch_root; f; f = f->fr_next)

View File

@ -1242,12 +1242,10 @@ find_format (struct d30v_opcode *opcode,
/* Calculate the current address by running through the
previous frags and adding our current offset. */
value = 0;
value = frag_now_fix_octets ();
for (f = frchain_now->frch_root; f; f = f->fr_next)
value += f->fr_fix + f->fr_offset;
value = (S_GET_VALUE (myops[j].X_add_symbol) - value
- (obstack_next_free (&frchain_now->frch_obstack)
- frag_now->fr_literal));
value = S_GET_VALUE (myops[j].X_add_symbol) - value;
if (check_range (value, bits, flags))
match = 0;
}