[binutils-gdb] HP-PA: use is_whitespace()

Jan Beulich jbeulich@sourceware.org
Mon Feb 3 11:04:26 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d99c62deef0ea5d579486448716022e820c6c377

commit d99c62deef0ea5d579486448716022e820c6c377
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Feb 3 12:02:50 2025 +0100

    HP-PA: use is_whitespace()
    
    Convert open-coded checks. At the same time use is_end_of_stmt() instead
    of an open-coded check in adjacent code.

Diff:
---
 gas/config/tc-hppa.c | 52 +++++++++++++++++++++++++++++-----------------------
 1 file changed, 29 insertions(+), 23 deletions(-)

diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 80a142fa466..8d6de8d9a37 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -2013,7 +2013,7 @@ pa_parse_number (char **s, int is_float)
   bool have_prefix;
 
   /* Skip whitespace before the number.  */
-  while (*p == ' ' || *p == '\t')
+  while (is_whitespace (*p))
     p = p + 1;
 
   pa_number = -1;
@@ -2229,12 +2229,12 @@ pa_parse_fp_cmp_cond (char **s)
 	  *s += strlen (fp_cond_map[i].string);
 	  /* If not a complete match, back up the input string and
 	     report an error.  */
-	  if (**s != ' ' && **s != '\t')
+	  if (!is_whitespace (**s))
 	    {
 	      *s -= strlen (fp_cond_map[i].string);
 	      break;
 	    }
-	  while (**s == ' ' || **s == '\t')
+	  while (is_whitespace (**s))
 	    *s = *s + 1;
 	  return cond;
 	}
@@ -2243,7 +2243,7 @@ pa_parse_fp_cmp_cond (char **s)
   as_bad (_("Invalid FP Compare Condition: %s"), *s);
 
   /* Advance over the bogus completer.  */
-  while (**s != ',' && **s != ' ' && **s != '\t')
+  while (**s != ',' && !is_whitespace (**s))
     *s += 1;
 
   return 0;
@@ -2416,7 +2416,7 @@ pa_chk_field_selector (char **str)
   char *s = *str;
 
   /* Read past any whitespace.  */
-  while (*s == ' ' || *s == '\t')
+  while (is_whitespace (*s))
     s++;
   *str = s;
 
@@ -2547,7 +2547,7 @@ pa_get_number (struct pa_it *insn, char **strp)
      contain no whitespace.  */
 
   s = *strp;
-  while (*s != ',' && *s != ' ' && *s != '\t')
+  while (*s != ',' && !is_whitespace (*s))
     s++;
 
   c = *s;
@@ -2627,7 +2627,7 @@ pa_parse_nonneg_cmpsub_cmpltr (char **s)
   if (**s == ',')
     {
       *s += 1;
-      while (**s != ',' && **s != ' ' && **s != '\t')
+      while (**s != ',' && !is_whitespace (**s))
 	*s += 1;
       c = **s;
       **s = 0x00;
@@ -2697,7 +2697,7 @@ pa_parse_neg_cmpsub_cmpltr (char **s)
   if (**s == ',')
     {
       *s += 1;
-      while (**s != ',' && **s != ' ' && **s != '\t')
+      while (**s != ',' && !is_whitespace (**s))
 	*s += 1;
       c = **s;
       **s = 0x00;
@@ -2772,7 +2772,7 @@ pa_parse_cmpb_64_cmpltr (char **s)
   if (**s == ',')
     {
       *s += 1;
-      while (**s != ',' && **s != ' ' && **s != '\t')
+      while (**s != ',' && !is_whitespace (**s))
 	*s += 1;
       c = **s;
       **s = 0x00;
@@ -2865,7 +2865,7 @@ pa_parse_cmpib_64_cmpltr (char **s)
   if (**s == ',')
     {
       *s += 1;
-      while (**s != ',' && **s != ' ' && **s != '\t')
+      while (**s != ',' && !is_whitespace (**s))
 	*s += 1;
       c = **s;
       **s = 0x00;
@@ -2928,7 +2928,7 @@ pa_parse_nonneg_add_cmpltr (char **s)
   if (**s == ',')
     {
       *s += 1;
-      while (**s != ',' && **s != ' ' && **s != '\t')
+      while (**s != ',' && !is_whitespace (**s))
 	*s += 1;
       c = **s;
       **s = 0x00;
@@ -2997,7 +2997,7 @@ pa_parse_neg_add_cmpltr (char **s)
   if (**s == ',')
     {
       *s += 1;
-      while (**s != ',' && **s != ' ' && **s != '\t')
+      while (**s != ',' && !is_whitespace (**s))
 	*s += 1;
       c = **s;
       **s = 0x00;
@@ -3070,7 +3070,7 @@ pa_parse_addb_64_cmpltr (char **s)
   if (**s == ',')
     {
       *s += 1;
-      while (**s != ',' && **s != ' ' && **s != '\t')
+      while (**s != ',' && !is_whitespace (**s))
 	*s += 1;
       c = **s;
       **s = 0x00;
@@ -3178,7 +3178,7 @@ pa_ip (char *str)
 
   /* Convert everything up to the first whitespace character into lower
      case.  */
-  for (s = str; *s != ' ' && *s != '\t' && *s != '\n' && *s != '\0'; s++)
+  for (s = str; !is_whitespace (*s) && !is_end_of_stmt (*s); s++)
     *s = TOLOWER (*s);
 
   /* Skip to something interesting.  */
@@ -3198,11 +3198,13 @@ pa_ip (char *str)
 
       /*FALLTHROUGH */
 
-    case ' ':
+    zap_char:
       *s++ = '\0';
       break;
 
     default:
+      if (is_whitespace (*s))
+	goto zap_char;
       as_bad (_("Unknown opcode: `%s'"), str);
       return;
     }
@@ -3239,7 +3241,7 @@ pa_ip (char *str)
       for (args = insn->args;; ++args)
 	{
 	  /* Absorb white space in instruction.  */
-	  while (*s == ' ' || *s == '\t')
+	  while (is_whitespace (*s))
 	    s++;
 
 	  switch (*args)
@@ -3264,11 +3266,15 @@ pa_ip (char *str)
 	    case '(':
 	    case ')':
 	    case ',':
-	    case ' ':
 	      if (*s++ == *args)
 		continue;
 	      break;
 
+	    case ' ':
+	      if (is_whitespace (*s++))
+		continue;
+	      break;
+
 	    /* Handle a 5 bit register or control register field at 10.  */
 	    case 'b':
 	    case '^':
@@ -3282,7 +3288,7 @@ pa_ip (char *str)
 	       is there.  */
 	    case '!':
 	      /* Skip whitespace before register.  */
-	      while (*s == ' ' || *s == '\t')
+	      while (is_whitespace (*s))
 		s = s + 1;
 
 	      if (!strncasecmp (s, "%sar", 4))
@@ -3956,7 +3962,7 @@ pa_ip (char *str)
 			  break;
 
 			name = s;
-			while (*s != ',' && *s != ' ' && *s != '\t')
+			while (*s != ',' && !is_whitespace (*s))
 			  s += 1;
 			c = *s;
 			*s = 0x00;
@@ -4131,7 +4137,7 @@ pa_ip (char *str)
 			  break;
 
 			name = s;
-			while (*s != ',' && *s != ' ' && *s != '\t')
+			while (*s != ',' && !is_whitespace (*s))
 			  s += 1;
 			c = *s;
 			*s = 0x00;
@@ -4279,7 +4285,7 @@ pa_ip (char *str)
 			  break;
 
 			name = s;
-			while (*s != ',' && *s != ' ' && *s != '\t')
+			while (*s != ',' && !is_whitespace (*s))
 			  s += 1;
 			c = *s;
 			*s = 0x00;
@@ -4353,7 +4359,7 @@ pa_ip (char *str)
 			  break;
 
 			name = s;
-			while (*s != ',' && *s != ' ' && *s != '\t')
+			while (*s != ',' && !is_whitespace (*s))
 			  s += 1;
 			c = *s;
 			*s = 0x00;
@@ -4497,7 +4503,7 @@ pa_ip (char *str)
 			    s += 3;
 			  }
 			/* ",*" is a valid condition.  */
-			else if (*args != 'U' || (*s != ' ' && *s != '\t'))
+			else if (*args != 'U' || !is_whitespace (*s))
 			  as_bad (_("Invalid Unit Instruction Condition."));
 		      }
 		    /* 32-bit is default for no condition.  */


More information about the Binutils-cvs mailing list