mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 09:58:19 +08:00
Allow FAKE arguments to have a parser handler.
This commit is contained in:
@ -607,11 +607,20 @@ assemble_one_insn (cpu, opcode, operand_table, pstr, insn_buf)
|
|||||||
|
|
||||||
if (operand->flags & DVP_OPERAND_FAKE)
|
if (operand->flags & DVP_OPERAND_FAKE)
|
||||||
{
|
{
|
||||||
|
long value = 0;
|
||||||
|
if (operand->parse)
|
||||||
|
{
|
||||||
|
errmsg = NULL;
|
||||||
|
value = (*operand->parse) (opcode, operand, mods,
|
||||||
|
&str, &errmsg);
|
||||||
|
if (errmsg)
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (operand->insert)
|
if (operand->insert)
|
||||||
{
|
{
|
||||||
errmsg = NULL;
|
errmsg = NULL;
|
||||||
(*operand->insert) (opcode, operand, mods, insn_buf, 0,
|
(*operand->insert) (opcode, operand, mods, insn_buf,
|
||||||
&errmsg);
|
(offsetT) value, &errmsg);
|
||||||
/* If we get an error, go on to try the next insn. */
|
/* If we get an error, go on to try the next insn. */
|
||||||
if (errmsg)
|
if (errmsg)
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user