From: Jan Beulich Date: Mon, 3 Feb 2025 11:03:07 +0000 (+0100) Subject: kvx: use is_whitespace() X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4d3ebda16d2baa84bcc79d5481ed8f65bfee2679;p=thirdparty%2Fbinutils-gdb.git 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 --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++; }