[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 1442a712b36308ac68a7744ed69871a1a4de7264..325cd8461eaa21b892bac22a4356fce427ccda05 100644 (file)
@@ -1,3 +1,8 @@
+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
index b46424a7c5ff40552a9225097d75e19950017555..addd75c467681ae901c433f7b9604f6c40faa3c0 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);
     }
 }