linux-mips
[Top] [All Lists]

Patch to report the illegal operand errors in gas/mips.

To: binutils@sourceware.cygnus.com
Subject: Patch to report the illegal operand errors in gas/mips.
From: "H . J . Lu" <hjl@lucon.org>
Date: Wed, 6 Jun 2001 09:50:11 -0700
Cc: linux-mips@oss.sgi.com
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.2.5i
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;
     }

<Prev in Thread] Current Thread [Next in Thread>
  • Patch to report the illegal operand errors in gas/mips., H . J . Lu <=