From 2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15 Mon Sep 17 00:00:00 2001 From: Anton Kolesov Date: Mon, 19 Jun 2017 13:27:52 +0300 Subject: [PATCH] [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. --- opcodes/ChangeLog | 5 +++++ 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,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); } } -- 2.30.2