More C++-ification for struct display
authorTom Tromey <tom@tromey.com>
Fri, 8 May 2020 20:21:22 +0000 (14:21 -0600)
committerTom Tromey <tromey@adacore.com>
Fri, 8 May 2020 20:21:23 +0000 (14:21 -0600)
commit8be4b118a9343197291d23c666f6a8ad24bce76a
tree6d87edce7de2093dd7c0bca8902efaaf74e134c9
parent94c93c35b50d0783fdfda277508d0ae6c3e372fb
More C++-ification for struct display

This changes displays to have a constructor, use bool and std::string,
and to be stored using std::vector.  The ALL_DISPLAYS and
ALL_DISPLAYS_SAFE macros are removed.  While internal iteration is
still done via map_display_numbers, this is updated to use a
function_view.  These changes simplify the code somewhat; for example,
free_display can now be removed in favor of ordinary destruction.

gdb/ChangeLog
2020-05-08  Tom Tromey  <tom@tromey.com>

* printcmd.c (struct display) <next>: Remove.
<display>: New constructor.
<exp_string>: Now a std::string.
<enabled_p>: Now a bool.
(display_number): Move definition earlier.
(displays): Rename from display_chain.  Now a std::vector.
(ALL_DISPLAYS, ALL_DISPLAYS_SAFE): Remove.
(display_command): Update.
(do_one_display, disable_display)
(enable_disable_display_command, do_enable_disable_display):
Update.
(free_display): Remove.
(clear_displays): Rewrite.
(delete_display): Update.
(map_display_numbers): Use function_view.  Remove "data"
parameter.  Update.
(do_delete_display): Remove.
(undisplay_command): Update.
(do_one_display, do_displays, disable_display)
(info_display_command): Update.
(do_enable_disable_display): Remove.
(enable_disable_display_command)
(clear_dangling_display_expressions): Update.
gdb/ChangeLog
gdb/printcmd.c