[binutils-gdb] kvx: use is_whitespace()

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


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

commit 4d3ebda16d2baa84bcc79d5481ed8f65bfee2679
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Feb 3 12:03:07 2025 +0100

    kvx: 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). Also convert open-coded checks where tabs were
    already included. At the same time use is_end_of_stmt() instead of open-
    coded checks in adjacent code.

Diff:
---
 gas/config/kvx-parse.c | 11 +++++++----
 gas/config/tc-kvx.c    |  8 ++++----
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/gas/config/kvx-parse.c b/gas/config/kvx-parse.c
index 354985a7316..942eab33f95 100644
--- a/gas/config/kvx-parse.c
+++ b/gas/config/kvx-parse.c
@@ -597,12 +597,12 @@ read_token (struct token_s *tok)
     {
       if ('0' <= str[*begin - i] && str[*begin - i] <= '9')
 	last_imm_p = 1;
-      else if (str[*begin - i] != ' ' && str[*begin - i] != '\t')
+      else if (!is_whitespace (str[*begin - i]))
 	break;
     }
 
   /* Eat up all leading spaces.  */
-  while (str[*begin] && (str[*begin] == ' ' || str[*begin] == '\n'))
+  while (str[*begin] && (is_whitespace (str[*begin]) || str[*begin] == '\n'))
     *begin += 1;
 
   *end = *begin;
@@ -624,7 +624,9 @@ read_token (struct token_s *tok)
       }
 
       if (str[*begin] == '.'
-	  && (!(*begin > 0 && (str[*begin - 1] == ' ' || is_delim(str[*begin - 1])))
+	  && (!(*begin > 0
+		&& (is_whitespace (str[*begin - 1])
+		    || is_delim (str[*begin - 1])))
 	    || last_imm_p))
 	modifier_p = 1;
 
@@ -633,7 +635,8 @@ read_token (struct token_s *tok)
 	*end += 1;
 
       /* Stop when reaching the start of the new token. */
-      while (!(!str[*end] || is_delim (str[*end]) || str[*end] == ' ' || (modifier_p && str[*end] == '.')))
+      while (!(!str[*end] || is_delim (str[*end]) || is_whitespace (str[*end])
+	     || (modifier_p && str[*end] == '.')))
 	*end += 1;
 
     }
diff --git a/gas/config/tc-kvx.c b/gas/config/tc-kvx.c
index 02887453b42..942b1aba744 100644
--- a/gas/config/tc-kvx.c
+++ b/gas/config/tc-kvx.c
@@ -1279,7 +1279,7 @@ md_assemble (char *line)
   if (get_byte_counter (now_seg) & 3)
     as_fatal ("code segment not word aligned in md_assemble");
 
-  while (line_cursor && line_cursor[0] && (line_cursor[0] == ' '))
+  while (is_whitespace (line_cursor[0]))
     line_cursor++;
 
   /* ;; was converted to "be" by line hook          */
@@ -2125,7 +2125,7 @@ kvx_md_start_line_hook (void)
 {
   char *t;
 
-  for (t = input_line_pointer; t && t[0] == ' '; t++);
+  for (t = input_line_pointer; is_whitespace (t[0]); t++);
 
   /* Detect illegal syntax patterns:
    * - two bundle ends on the same line: ;; ;;
@@ -2144,9 +2144,9 @@ kvx_md_start_line_hook (void)
       while (tmp_t && tmp_t[0])
 	{
 	  while (tmp_t && tmp_t[0] &&
-		 ((tmp_t[0] == ' ') || (tmp_t[0] == '\n')))
+		 (is_whitespace (tmp_t[0]) || is_end_of_stmt (tmp_t[0])))
 	    {
-	      if (tmp_t[0] == '\n')
+	      if (is_end_of_stmt (tmp_t[0]))
 		newline_seen = true;
 	      tmp_t++;
 	    }


More information about the Binutils-cvs mailing list