[binutils-gdb] Sparc: use is_whitespace()
Jan Beulich
jbeulich@sourceware.org
Mon Feb 3 11:24:01 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=52da676aa8a89c972a1651e071831d34019627ff
commit 52da676aa8a89c972a1651e071831d34019627ff
Author: Jan Beulich <jbeulich@suse.com>
Date: Mon Feb 3 12:22:23 2025 +0100
Sparc: use is_whitespace()
Wherever blanks are permissible in input, tabs ought to be permissible,
too. This is particularly relevant when -f is passed to gas (alongside
appropriate input).
Diff:
---
gas/config/tc-sparc.c | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index c6f8026e5c1..a22efbf5deb 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -1743,13 +1743,15 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
case ',':
comma = 1;
- /* Fall through. */
-
- case ' ':
*s++ = '\0';
break;
default:
+ if (is_whitespace (*s))
+ {
+ *s++ = '\0';
+ break;
+ }
as_bad (_("Unknown opcode: `%s'"), str);
*pinsn = NULL;
return special_case;
@@ -1798,11 +1800,11 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
goto error;
}
kmask |= jmask;
- while (*s == ' ')
+ while (is_whitespace (*s))
++s;
if (*s == '|' || *s == '+')
++s;
- while (*s == ' ')
+ while (is_whitespace (*s))
++s;
}
}
@@ -2039,7 +2041,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
goto immediate;
case ')':
- if (*s == ' ')
+ if (is_whitespace (*s))
s++;
if ((s[0] == '0' && s[1] == 'x' && ISXDIGIT (s[2]))
|| ISDIGIT (*s))
@@ -2131,7 +2133,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
break;
case 'z':
- if (*s == ' ')
+ if (is_whitespace (*s))
{
++s;
}
@@ -2144,7 +2146,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
break;
case 'Z':
- if (*s == ' ')
+ if (is_whitespace (*s))
{
++s;
}
@@ -2157,7 +2159,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
break;
case '6':
- if (*s == ' ')
+ if (is_whitespace (*s))
{
++s;
}
@@ -2169,7 +2171,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
break;
case '7':
- if (*s == ' ')
+ if (is_whitespace (*s))
{
++s;
}
@@ -2181,7 +2183,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
break;
case '8':
- if (*s == ' ')
+ if (is_whitespace (*s))
{
++s;
}
@@ -2193,7 +2195,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
break;
case '9':
- if (*s == ' ')
+ if (is_whitespace (*s))
{
++s;
}
@@ -2303,11 +2305,15 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
case '[': /* These must match exactly. */
case ']':
case ',':
- case ' ':
if (*s++ == *args)
continue;
break;
+ case ' ':
+ if (is_whitespace (*s++))
+ continue;
+ break;
+
case '#': /* Must be at least one digit. */
if (ISDIGIT (*s++))
{
@@ -2680,7 +2686,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
/* fallthrough */
immediate:
- if (*s == ' ')
+ if (is_whitespace (*s))
s++;
{
More information about the Binutils-cvs
mailing list