This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Patch to report the illegal operand errors in gas/mips.
- To: binutils at sourceware dot cygnus dot com
- Subject: Patch to report the illegal operand errors in gas/mips.
- From: "H . J . Lu" <hjl at lucon dot org>
- Date: Wed, 6 Jun 2001 09:50:11 -0700
- Cc: linux-mips at oss dot sgi dot com
When you have an illegal operand, you will get a bogus error message
saying "opcode not supported on this processor: xxx". This patch fixes
it.
---
2001-06-06 H.J. Lu <hjl@gnu.org>
* gas/config/tc-mips.c (mips_ip): Properly report the illegal
operand errors.
--- gas/config/tc-mips.c.diag Tue Jun 5 20:28:20 2001
+++ gas/config/tc-mips.c Tue Jun 5 20:46:50 2001
@@ -7087,19 +7087,25 @@ mips_ip (str, ip)
}
else
{
- static char buf[100];
- sprintf (buf,
- _("opcode not supported on this processor: %s (%s)"),
- mips_cpu_to_str (mips_cpu),
- mips_isa_to_str (mips_opts.isa));
+ if (!insn_error)
+ {
+ static char buf[100];
+ sprintf (buf,
+ _("opcode not supported on this processor: %s (%s)"),
+ mips_cpu_to_str (mips_cpu),
+ mips_isa_to_str (mips_opts.isa));
- insn_error = buf;
+ insn_error = buf;
+ }
+ if (save_c)
+ *(--s) = save_c;
return;
}
}
ip->insn_mo = insn;
ip->insn_opcode = insn->match;
+ insn_error = NULL;
for (args = insn->args;; ++args)
{
if (*s == ' ')
@@ -7940,8 +7946,11 @@ mips_ip (str, ip)
{
++insn;
s = argsStart;
+ insn_error = _("illegal operands");
continue;
}
+ if (save_c)
+ *(--s) = save_c;
insn_error = _("illegal operands");
return;
}