From: Anton Kolesov Date: Mon, 19 Jun 2017 10:27:52 +0000 (+0300) Subject: [ARC] Use FOR_EACH_DISASSEMBLER_OPTION to iterate over options X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15;p=binutils-gdb.git [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 * arc-dis.c (parse_disassembler_options): Use FOR_EACH_DISASSEMBLER_OPTION. --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1442a712b36..325cd8461ea 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2017-06-29 Anton Kolesov + + * arc-dis.c (parse_disassembler_options): Use + FOR_EACH_DISASSEMBLER_OPTION. + 2017-06-29 Anton Kolesov * arc-dis.c (parse_option): Use disassembler_options_cmp to compare 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); } }