diff options
author | Martin Liska <mliska@suse.cz> | 2019-11-18 12:51:20 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-11-18 11:51:20 +0000 |
commit | 342ae9ad5517d74e7b2a87beeea15ac139ada0fe (patch) | |
tree | 356b61ed54aaa43b0215a5e75dbd4ba3f7556d77 /gcc/dbgcnt.c | |
parent | 446096148ca9775cb56f9ee924fa283babcd0b76 (diff) | |
download | gcc-342ae9ad5517d74e7b2a87beeea15ac139ada0fe.zip gcc-342ae9ad5517d74e7b2a87beeea15ac139ada0fe.tar.gz gcc-342ae9ad5517d74e7b2a87beeea15ac139ada0fe.tar.bz2 |
Improve -dbg-cnt error message and support :0.
2019-11-18 Martin Liska <mliska@suse.cz>
* dbgcnt.c (dbg_cnt_set_limit_by_name): Provide error
message for an unknown counter.
(dbg_cnt_process_single_pair): Support 0 as minimum value.
(dbg_cnt_process_opt): Remove unreachable code.
From-SVN: r278396
Diffstat (limited to 'gcc/dbgcnt.c')
-rw-r--r-- | gcc/dbgcnt.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/gcc/dbgcnt.c b/gcc/dbgcnt.c index c675c64..f58ef8f 100644 --- a/gcc/dbgcnt.c +++ b/gcc/dbgcnt.c @@ -150,7 +150,11 @@ dbg_cnt_set_limit_by_name (const char *name, unsigned int low, break; if (i < 0) - return false; + { + error ("cannot find a valid counter name %qs of %<-fdbg-cnt=%> option", + name); + return false; + } return dbg_cnt_set_limit_by_index ((enum debug_counter) i, name, low, high); } @@ -172,8 +176,9 @@ dbg_cnt_process_single_pair (char *name, char *str) if (value2 == NULL) { - low = 1; high = strtol (value1, NULL, 10); + /* Let's allow 0:0. */ + low = high == 0 ? 0 : 1; } else { @@ -209,15 +214,6 @@ dbg_cnt_process_opt (const char *arg) } start += strlen (tokens[i]) + 1; } - - 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%>", arg); - error (" %s", buffer); - } } /* Print name, limit and count of all counters. */ |