gcc/ChangeLog:
2019-03-27 Martin Liska <[email protected]>
* 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.
---
gcc/dbgcnt.c | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/gcc/dbgcnt.c b/gcc/dbgcnt.c
index ebaa310821c..e2f65f449e5 100644
--- a/gcc/dbgcnt.c
+++ b/gcc/dbgcnt.c
@@ -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);
}
}