gdb/breakpoint: display "N" on MI for disabled-by-condition locations
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Wed, 21 Apr 2021 14:42:39 +0000 (16:42 +0200)
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Wed, 21 Apr 2021 14:47:16 +0000 (16:47 +0200)
For breakpoint locations that are disabled because of an invalid
condition, CLI displays "N*" in the 'enabled' field, where '*' refers
to the footnote below the table:

  (*): Breakpoint condition is invalid at this location.

This is not necessary for MI, where we shall simply print "N" without
the footnote.

Update the document to mention the "N" value for the MI.  Also remove
the line about the 'enable' field, because there is no such field for
locations.

gdb/ChangeLog:
2021-04-21  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

* breakpoint.c (print_one_breakpoint_location): Display "N" for
disabled-by-condition locations on MI-like output.
(breakpoint_1): Do not display the disabled-by-condition footnote
if the output is MI-like.

gdb/doc/ChangeLog:
2021-04-21  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>

* gdb.texinfo (GDB/MI Breakpoint Information): Update the
description for the 'enabled' field of breakpoint locations.

gdb/ChangeLog
gdb/breakpoint.c
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo

index 13d0bc26f3718bf128c2c42ccf83763332213316..a900a1d36b51e152e50d748ceafeca785027865b 100644 (file)
@@ -1,3 +1,10 @@
+2021-04-21  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       * breakpoint.c (print_one_breakpoint_location): Display "N" for
+       disabled-by-condition locations on MI-like output.
+       (breakpoint_1): Do not display the disabled-by-condition footnote
+       if the output is MI-like.
+
 2021-04-21  Frederic Cambus  <fred@statdns.com>
 
        * syscalls/update-netbsd.sh: Fix script name display in usage, and
index 16cf7977b62a41ea04858c4b7488a1a6986f0aaf..0136019b4ae5d3de3d3de0eb3e0a29dba3df78e5 100644 (file)
@@ -6190,8 +6190,12 @@ print_one_breakpoint_location (struct breakpoint *b,
 
   /* 4 */
   annotate_field (3);
+  /* For locations that are disabled because of an invalid condition,
+     display "N*" on CLI, where "*" refers to a footnote below the
+     table.  For MI, simply display a "N" without a footnote.  */
+  const char *N = (uiout->is_mi_like_p ()) ? "N" : "N*";
   if (part_of_multiple)
-    uiout->field_string ("enabled", (loc->disabled_by_cond ? "N*"
+    uiout->field_string ("enabled", (loc->disabled_by_cond ? N
                                     : (loc->enabled ? "y" : "n")));
   else
     uiout->field_fmt ("enabled", "%c", bpenables[(int) b->enable_state]);
@@ -6716,7 +6720,7 @@ breakpoint_1 (const char *bp_num_list, bool show_internal,
       if (last_loc && !server_command)
        set_next_address (last_loc->gdbarch, last_loc->address);
 
-      if (has_disabled_by_cond_location)
+      if (has_disabled_by_cond_location && !uiout->is_mi_like_p ())
        uiout->message (_("(*): Breakpoint condition is invalid at this "
                          "location.\n"));
     }
index 32801bf88bfc290beab7b518215f4d5aa735da7b..08e318231b6f07faa249a737f9b73dc3fc7974cb 100644 (file)
@@ -1,3 +1,8 @@
+2021-04-21  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       * gdb.texinfo (GDB/MI Breakpoint Information): Update the
+       description for the 'enabled' field of breakpoint locations.
+
 2021-04-15  Tom Tromey  <tom@tromey.com>
            Andrew Burgess  <andrew.burgess@embecosm.com>
 
index d13cbda2c11014ebbfd3a731801b1cec13e11293..fd04aeee8fc8b98ddf2c0bb637c6f187786adb66 100644 (file)
@@ -30154,9 +30154,16 @@ number of the parent breakpoint.  The second digit is the number of the
 location within that breakpoint.
 
 @item enabled
-This indicates whether the location is enabled, in which case the
-value is @samp{y}, or disabled, in which case the value is @samp{n}.
-Note that this is not the same as the field @code{enable}.
+There are three possible values, with the following meanings:
+@table @code
+@item y
+The location is enabled.
+@item n
+The location is disabled by the user.
+@item N
+The location is disabled because the breakpoint condition is invalid
+at this location.
+@end table
 
 @item addr
 The address of this location as an hexidecimal number.