diff options
author | Doug Evans <dje@google.com> | 1998-02-19 00:39:38 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 1998-02-19 00:39:38 +0000 |
commit | a48a6f230136440b2e57eb704f3fa83af60df0d9 (patch) | |
tree | 97072c359c2f0962e2fc2377b8838716773a957f /gas/config | |
parent | 18daef646e6b5d9a24635bf19e38d946e2aaf2a1 (diff) | |
download | gdb-a48a6f230136440b2e57eb704f3fa83af60df0d9.zip gdb-a48a6f230136440b2e57eb704f3fa83af60df0d9.tar.gz gdb-a48a6f230136440b2e57eb704f3fa83af60df0d9.tar.bz2 |
Allow FAKE arguments to have a parser handler.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-dvp.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gas/config/tc-dvp.c b/gas/config/tc-dvp.c index e7cfc69..38580ff 100644 --- a/gas/config/tc-dvp.c +++ b/gas/config/tc-dvp.c @@ -607,11 +607,20 @@ assemble_one_insn (cpu, opcode, operand_table, pstr, insn_buf) 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) { errmsg = NULL; - (*operand->insert) (opcode, operand, mods, insn_buf, 0, - &errmsg); + (*operand->insert) (opcode, operand, mods, insn_buf, + (offsetT) value, &errmsg); /* If we get an error, go on to try the next insn. */ if (errmsg) break; |