This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH v2 2/2] [ARC] Use FOR_EACH_DISASSEMBLER_OPTION to iterate over options
- From: Anton Kolesov <Anton dot Kolesov at synopsys dot com>
- To: binutils at sourceware dot org
- Cc: Anton Kolesov <Anton dot Kolesov at synopsys dot com>, Francois Bedard <Francois dot Bedard at synopsys dot com>, Claudiu Zissulescu <Claudiu dot Zissulescu at synopsys dot com>, Cupertino Miranda <Cupertino dot Miranda at synopsys dot com>, Pedro Alves <palves at redhat dot com>, Peter Bergner <bergner at vnet dot ibm dot com>
- Date: Mon, 19 Jun 2017 17:40:11 +0300
- Subject: [PATCH v2 2/2] [ARC] Use FOR_EACH_DISASSEMBLER_OPTION to iterate over options
- Authentication-results: sourceware.org; auth=none
- References: <20170619144011.8157-1-Anton.Kolesov@synopsys.com>
- References: <2b79f9f2-77a1-4718-4455-40991c65dc41@vnet.ibm.com>
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.
---
opcodes/arc-dis.c | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
diff --git a/opcodes/arc-dis.c b/opcodes/arc-dis.c
index dc9f5d7..c1faf0e 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.8.3