aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui
diff options
context:
space:
mode:
authorLancelot Six <lancelot.six@amd.com>2023-10-13 10:17:02 +0000
committerLancelot Six <lancelot.six@amd.com>2023-11-21 11:52:36 +0000
commit8082468ffe65095cdd640fb081b9d3d28dd7add4 (patch)
tree4e9ab5a6ad254f77e96e295d873a1d5b31cf44fa /gdb/tui
parent42742fc5817a8f2e47c711880501073a9ad86cfc (diff)
downloadbinutils-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.c5
-rw-r--r--gdb/tui/tui-win.c6
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)