diff options
author | Maciej W. Rozycki <macro@orcam.me.uk> | 2025-02-10 22:11:25 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@orcam.me.uk> | 2025-02-10 22:11:25 +0000 |
commit | 8eca085f0ad6319f2ba331d27281a478b67992d3 (patch) | |
tree | efd78be2e320c670b0bf472e0623a73f67abaaa9 | |
parent | 04e94ec07306efebec091e8f2c9a0dfd7ea5613c (diff) | |
download | binutils-8eca085f0ad6319f2ba331d27281a478b67992d3.zip binutils-8eca085f0ad6319f2ba331d27281a478b67992d3.tar.gz binutils-8eca085f0ad6319f2ba331d27281a478b67992d3.tar.bz2 |
MIPS16/GAS: Streamline forced size suffix handling code
Clean up after commit 112cf77b1855 ("MIPS: use is_whitespace()") and
untangle the code flow in the handling of forced size suffixes, noting
that owing to the loop right above the only data `c' can hold at this
point is '\0', '.', or a white-space character. No functional change.
-rw-r--r-- | gas/config/tc-mips.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index c5d36c2..d01b6a5 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -14394,17 +14394,8 @@ mips16_ip (char *str, struct mips_cl_insn *insn) c = *end; l = 0; - switch (c) + if (c == '.') { - case '\0': - break; - - default: - if (is_whitespace (*s)) - s++; - break; - - case '.': s++; if (*s == 't') { @@ -14416,16 +14407,14 @@ mips16_ip (char *str, struct mips_cl_insn *insn) l = 4; s++; } - if (l != 0) + if (l == 0 || (*s != '\0' && !is_whitespace (*s++))) { - if (*s == '\0') - break; - else if (is_whitespace (*s++)) - break; + set_insn_error (0, _("unrecognized opcode")); + return; } - set_insn_error (0, _("unrecognized opcode")); - return; } + else if (is_whitespace (c)) + s++; forced_insn_length = l; *end = 0; |