Implement -break-passcount.
authorVladimir Prus <vladimir@codesourcery.com>
Tue, 23 Mar 2010 21:48:14 +0000 (21:48 +0000)
committerVladimir Prus <vladimir@codesourcery.com>
Tue, 23 Mar 2010 21:48:14 +0000 (21:48 +0000)
* mi/mi-cmd-break.c (mi_cmd_break_passcount): New.
* mi/mi-cmds.c (mi_cmds): Register -break-passcount.
* mi/mi-cmds.h (mi_cmd_break_passcount): Declare.

gdb/ChangeLog
gdb/mi/mi-cmd-break.c
gdb/mi/mi-cmds.c
gdb/mi/mi-cmds.h

index ebd90410233ff930a3d7a9144cf435be2a171b8e..497e4ee4275bfa552f484451f7a73d52d2f695f7 100644 (file)
@@ -1,3 +1,11 @@
+2010-03-24  Vladimir Prus  <vladimir@codesourcery.com>
+
+       Implement -break-passcount.
+
+       * mi/mi-cmd-break.c (mi_cmd_break_passcount): New.
+       * mi/mi-cmds.c (mi_cmds): Register -break-passcount.
+       * mi/mi-cmds.h (mi_cmd_break_passcount): Declare.
+
 2010-03-24  Vladimir Prus  <vladimir@codesourcery.com>
 
        -trace-start/-trace-end/-trace-status.
index 3fcd85b33443620522922e79bab08ecd46e987a0..c5a098e9d02587d042d16d7e85c24f86be591eb4 100644 (file)
@@ -170,6 +170,31 @@ enum wp_type
   ACCESS_WP
 };
 
+void
+mi_cmd_break_passcount (char *command, char **argv, int argc)
+{
+  int n;
+  int p;
+  struct breakpoint *t;
+
+  if (argc != 2)
+    error (_("Usage: tracepoint-number passcount"));
+
+  n = atoi (argv[0]);
+  p = atoi (argv[1]);
+  t = get_tracepoint (n);
+
+  if (t)
+    {
+      t->pass_count = p;
+      observer_notify_tracepoint_modified (n);
+    }
+  else
+    {
+      error (_("Cound not find tracepoint %d"), n);
+    }
+}
+
 /* Insert a watchpoint. The type of watchpoint is specified by the
    first argument: 
    -break-watch <expr> --> insert a regular wp.  
index c2183fbe3e4c0aa759cb2c7204cb67b60adfe2ca..6b260fc5f1a0b268ba7298f0133ed690cf1eaab9 100644 (file)
@@ -43,6 +43,7 @@ struct mi_cmd mi_cmds[] =
   { "break-info", { "info break", 1 }, NULL },
   { "break-insert", { NULL, 0 }, mi_cmd_break_insert},
   { "break-list", { "info break", }, NULL },
+  { "break-passcount", { NULL, 0 }, mi_cmd_break_passcount},
   { "break-watch", { NULL, 0 }, mi_cmd_break_watch},
   { "data-disassemble", { NULL, 0 }, mi_cmd_disassemble},
   { "data-evaluate-expression", { NULL, 0 }, mi_cmd_data_evaluate_expression},
index 702dd9e61e74cbd0184d5c8c4f06365354d0ab51..b5ff61f952d6b71cc94e0cf58ca90110e0382047 100644 (file)
@@ -39,6 +39,7 @@ typedef void (mi_cmd_argv_ftype) (char *command, char **argv, int argc);
 extern mi_cmd_argv_ftype mi_cmd_add_inferior;
 extern mi_cmd_argv_ftype mi_cmd_break_insert;
 extern mi_cmd_argv_ftype mi_cmd_break_commands;
+extern mi_cmd_argv_ftype mi_cmd_break_passcount;
 extern mi_cmd_argv_ftype mi_cmd_break_watch;
 extern mi_cmd_argv_ftype mi_cmd_disassemble;
 extern mi_cmd_argv_ftype mi_cmd_data_evaluate_expression;