diff options
author | Jan Beulich <jbeulich@suse.com> | 2025-02-03 12:03:07 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2025-02-03 12:03:07 +0100 |
commit | 4d3ebda16d2baa84bcc79d5481ed8f65bfee2679 (patch) | |
tree | 7f578dccf844f8c95257c2c19d0519431da36f88 | |
parent | d99c62deef0ea5d579486448716022e820c6c377 (diff) | |
download | binutils-4d3ebda16d2baa84bcc79d5481ed8f65bfee2679.zip binutils-4d3ebda16d2baa84bcc79d5481ed8f65bfee2679.tar.gz binutils-4d3ebda16d2baa84bcc79d5481ed8f65bfee2679.tar.bz2 |
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.
-rw-r--r-- | gas/config/kvx-parse.c | 11 | ||||
-rw-r--r-- | 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 354985a..942eab3 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 0288745..942b1ab 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++; } |