diff options
author | Lancelot Six <lancelot.six@amd.com> | 2023-10-13 10:17:02 +0000 |
---|---|---|
committer | Lancelot Six <lancelot.six@amd.com> | 2023-11-21 11:52:36 +0000 |
commit | 8082468ffe65095cdd640fb081b9d3d28dd7add4 (patch) | |
tree | 4e9ab5a6ad254f77e96e295d873a1d5b31cf44fa /gdb/tui | |
parent | 42742fc5817a8f2e47c711880501073a9ad86cfc (diff) | |
download | binutils-8082468ffe65095cdd640fb081b9d3d28dd7add4.zip binutils-8082468ffe65095cdd640fb081b9d3d28dd7add4.tar.gz binutils-8082468ffe65095cdd640fb081b9d3d28dd7add4.tar.bz2 |
gdb: Use std::string_view instead of gdb::string_view
Given that GDB now requires a C++17, replace all uses of
gdb::string_view with std::string_view.
This change has mostly been done automatically:
- gdb::string_view -> std::string_view
- #include "gdbsupport/gdb_string_view.h" -> #include <string_view>
One things which got brought up during review is that gdb::stging_view
does support being built from "nullptr" while std::sting_view does not.
Two places are manually adjusted to account for this difference:
gdb/tui/tui-io.c:tui_getc_1 and
gdbsupport/format.h:format_piece::format_piece.
The above automatic change transformed
"gdb::to_string (const gdb::string_view &)" into
"gdb::to_string (const std::string_view &)". The various direct users
of this function are now explicitly including
"gdbsupport/gdb_string_view.h". A later patch will remove the users of
gdb::to_string.
The implementation and tests of gdb::string_view are unchanged, they will
be removed in a following patch.
Change-Id: Ibb806a7e9c79eb16a55c87c6e41ad396fecf0207
Approved-By: Tom Tromey <tom@tromey.com>
Approved-By: Pedro Alves <pedro@palves.net>
Diffstat (limited to 'gdb/tui')
-rw-r--r-- | gdb/tui/tui-io.c | 5 | ||||
-rw-r--r-- | gdb/tui/tui-win.c | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c index b8954af..8472464 100644 --- a/gdb/tui/tui-io.c +++ b/gdb/tui/tui-io.c @@ -1197,7 +1197,10 @@ tui_getc_1 (FILE *fp) Compare keyname instead. */ if (ch >= KEY_MAX) { - auto name = gdb::string_view (keyname (ch)); + std::string_view name; + const char *name_str = keyname (ch); + if (name_str != nullptr) + name = std::string_view (name_str); /* The following sequences are hardcoded in readline as well. */ diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c index a0a1233..9219c1f 100644 --- a/gdb/tui/tui-win.c +++ b/gdb/tui/tui-win.c @@ -54,7 +54,7 @@ #include "gdb_curses.h" #include <ctype.h> #include "readline/readline.h" -#include "gdbsupport/gdb_string_view.h" +#include <string_view> #include <signal.h> @@ -663,7 +663,7 @@ tui_scroll_right_command (const char *arg, int from_tty) /* Answer the window represented by name. */ static struct tui_win_info * -tui_partial_win_by_name (gdb::string_view name) +tui_partial_win_by_name (std::string_view name) { struct tui_win_info *best = nullptr; @@ -935,7 +935,7 @@ tui_set_win_size (const char *arg, bool set_width_p) buf_ptr = skip_to_space (buf_ptr); /* Validate the window name. */ - gdb::string_view wname (buf, buf_ptr - buf); + std::string_view wname (buf, buf_ptr - buf); win_info = tui_partial_win_by_name (wname); if (win_info == NULL) |