Improve -dbg-cnt error message and support :0.
authorMartin Liska <mliska@suse.cz>
Mon, 18 Nov 2019 11:51:20 +0000 (12:51 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 18 Nov 2019 11:51:20 +0000 (11:51 +0000)
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

gcc/ChangeLog
gcc/dbgcnt.c

index a829a68f543458f109b7520b986eedc32f5634df..846506b2088fdcae3dc1751223c95707569b07cd 100644 (file)
@@ -1,3 +1,10 @@
+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.
+
 2019-11-18  Martin Liska  <mliska@suse.cz>
 
        PR ipa/92529
index c675c644007d8cf7549a4103a2c5fa1d2d0f275b..f58ef8fd00e1c1a064f1afb897dda10c82f84b3a 100644 (file)
@@ -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.   */