This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] [ARC] Use FOR_EACH_DISASSEMBLER_OPTION to iterate over options


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15

commit 2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Mon Jun 19 13:27:52 2017 +0300

    [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  <Anton.Kolesov@synopsys.com>
    
    	* arc-dis.c (parse_disassembler_options): Use
    	FOR_EACH_DISASSEMBLER_OPTION.

Diff:
---
 opcodes/ChangeLog |  5 +++++
 opcodes/arc-dis.c | 20 ++++++--------------
 2 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 1442a71..325cd84 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -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.
diff --git a/opcodes/arc-dis.c b/opcodes/arc-dis.c
index b46424a..addd75c 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);
     }
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]