Fix multiple values for -fdbg-cnt.
authorMartin Liska <mliska@suse.cz>
Fri, 29 Mar 2019 11:45:39 +0000 (12:45 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 29 Mar 2019 11:45:39 +0000 (11:45 +0000)
2019-03-29  Martin Liska  <mliska@suse.cz>

* dbgcnt.c (dbg_cnt_process_single_pair): Fix GNU coding style.
(dbg_cnt_process_opt): Parse first tokens aas
dbg_cnt_process_single_pair is also using strtok.

From-SVN: r270014

gcc/ChangeLog
gcc/dbgcnt.c

index 155d208961b1f69cddce69831e9b3987c0bdd476..7f6b8a5cd3245fd4ba917012b6caf50a5acd00d7 100644 (file)
@@ -1,3 +1,9 @@
+2019-03-29  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.c (dbg_cnt_process_single_pair): Fix GNU coding style.
+       (dbg_cnt_process_opt): Parse first tokens aas
+       dbg_cnt_process_single_pair is also using strtok.
+
 2019-03-29  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/87485
index ebaa310821c0da35c6ef3ba28d76c1e59e0a7817..e2f65f449e537c926e7bbf21af93d5c7db3fe407 100644 (file)
@@ -151,30 +151,35 @@ dbg_cnt_process_single_pair (const char *arg)
       high = strtol (value2, NULL, 10);
     }
 
-   return dbg_cnt_set_limit_by_name (name, low, high);
+  return dbg_cnt_set_limit_by_name (name, low, high);
 }
 
 void
 dbg_cnt_process_opt (const char *arg)
 {
   char *str = xstrdup (arg);
-  const char *next = strtok (str, ",");
   unsigned int start = 0;
 
-   do {
-     if (!dbg_cnt_process_single_pair (arg))
+  auto_vec<const char *> tokens;
+  for (const char *next = strtok (str, ","); next != NULL;
+       next = strtok (NULL, ","))
+    tokens.safe_push (next);
+
+  unsigned i;
+  for (i = 0; i < tokens.length (); i++)
+    {
+     if (!dbg_cnt_process_single_pair (tokens[i]))
        break;
-     start += strlen (arg) + 1;
-     next = strtok (NULL, ",");
-   } while (next != NULL);
+     start += strlen (tokens[i]) + 1;
+    }
 
-   if (next != NULL)
+   if (i != tokens.length ())
      {
        char *buffer = XALLOCAVEC (char, start + 2);
        sprintf (buffer, "%*c", start + 1, '^');
        error ("cannot find a valid counter:value pair:");
-       error ("%<-fdbg-cnt=%s%>", next);
-       error ("          %s", buffer);
+       error ("%<-fdbg-cnt=%s%>", arg);
+       error ("           %s", buffer);
      }
 }