[ARC] Use FOR_EACH_DISASSEMBLER_OPTION to iterate over options
authorAnton Kolesov <Anton.Kolesov@synopsys.com>
Mon, 19 Jun 2017 10:27:52 +0000 (13:27 +0300)
committerAnton Kolesov <Anton.Kolesov@synopsys.com>
Thu, 29 Jun 2017 11:49:39 +0000 (14:49 +0300)
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/ChangeLog
opcodes/arc-dis.c

index 1442a71..325cd84 100644 (file)
@@ -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.
index b46424a..addd75c 100644 (file)
@@ -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);
     }
 }