diff options
author | Anton Kolesov <Anton.Kolesov@synopsys.com> | 2017-06-19 13:27:52 +0300 |
---|---|---|
committer | Anton Kolesov <Anton.Kolesov@synopsys.com> | 2017-06-29 14:49:39 +0300 |
commit | 2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15 (patch) | |
tree | 9173222536cc7f28cdf2fce12cb9d7005d84f34f /opcodes | |
parent | e1e94c4994151ebe0e3a103fd0d27f60bd806bbe (diff) | |
download | binutils-gdb-2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15.tar.gz |
[ARC] Use FOR_EACH_DISASSEMBLER_OPTION to iterate over options
This patch updates arc-dis.c:parse_disassembler_options to use a macro
FOR_EACH_DISASSEMBLER_OPTION, which has been introduced in [1], instead of a
homegrown solution to split option string.
[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=65b48a81
opcodes/ChangeLog:
yyyy-mm-dd Anton Kolesov <Anton.Kolesov@synopsys.com>
* arc-dis.c (parse_disassembler_options): Use
FOR_EACH_DISASSEMBLER_OPTION.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/arc-dis.c | 20 |
2 files changed, 11 insertions, 14 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1442a712b36..325cd8461ea 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,10 @@ 2017-06-29 Anton Kolesov <Anton.Kolesov@synopsys.com> + * arc-dis.c (parse_disassembler_options): Use + FOR_EACH_DISASSEMBLER_OPTION. + +2017-06-29 Anton Kolesov <Anton.Kolesov@synopsys.com> + * arc-dis.c (parse_option): Use disassembler_options_cmp to compare disassembler option strings. (parse_cpu_option): Likewise. diff --git a/opcodes/arc-dis.c b/opcodes/arc-dis.c index b46424a7c5f..addd75c4676 100644 --- a/opcodes/arc-dis.c +++ b/opcodes/arc-dis.c @@ -823,6 +823,8 @@ parse_cpu_option (const char *option) static void parse_disassembler_options (const char *options) { + const char *option; + if (options == NULL) return; @@ -832,25 +834,15 @@ parse_disassembler_options (const char *options) CPU when new options are being parsed. */ enforced_isa_mask = ARC_OPCODE_NONE; - while (*options) + FOR_EACH_DISASSEMBLER_OPTION (option, options) { - /* Skip empty options. */ - if (*options == ',') - { - ++ options; - continue; - } - /* A CPU option? Cannot use STRING_COMMA_LEN because strncmp is also a preprocessor macro. */ - if (strncmp (options, "cpu=", 4) == 0) + if (strncmp (option, "cpu=", 4) == 0) /* Strip leading `cpu=`. */ - enforced_isa_mask = parse_cpu_option (options + 4); + enforced_isa_mask = parse_cpu_option (option + 4); else - parse_option (options); - - while (*options != ',' && *options != '\0') - ++ options; + parse_option (option); } } |