binutils-gdb/gdb/common
Simon Marchi 21fe1c752e remote: C++ify thread_item and threads_listing_context
This patch C++ifies the thread_item and threads_listing_context
structures in remote.c.  thread_item::{extra,name} are changed to
std::string.  As a result, there's a bit of awkwardness in
remote_update_thread_list, where we have to xstrdup those strings when
filling the private_thread_info structure.  This is removed in the
following patch, where private_thread_info is also C++ified and its
corresponding fields made std::string too.  The xstrdup then becomes an
std::move.

Other than that there's nothing really special, it's a usual day-to-day
VEC -> vector and char* -> std::string change.  It allows removing a
cleanup in remote_update_thread_list.

Note that an overload of hex2bin that returns a gdb::byte_vector is
added, with corresponding selftests.

gdb/ChangeLog:

	* remote.c (struct thread_item): Add constructor, disable copy
	construction and copy assignment, define default move
	construction and move assignment.
	<extra, name>: Change type to std::string.
	<core>: Initialize.
	<thread_handle>: Make non-pointer.
	(thread_item_t): Remove typedef.
	(DEF_VEC_O(thread_item_t)): Remove.
	(threads_listing_context) <contains_thread>: New method.
	<remove_thread>: New method.
	<items>: Change type to std::vector.
	(clear_threads_listing_context): Remove.
	(threads_listing_context_remove): Remove.
	(remote_newthread_step): Use thread_item constructor, adjust to
	change to std::vector.
	(start_thread): Use thread_item constructor, adjust to change to
	std::vector.
	(end_thread): Adjust to change to std::vector and std::string.
	(remote_get_threads_with_qthreadinfo): Use thread_item
	constructor, adjust to std::vector.
	(remote_update_thread_list): Adjust to change to std::vector and
	std::string, use threads_listing_context methods.
	(remove_child_of_pending_fork): Adjust.
	(remove_new_fork_children): Adjust.
	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
	(SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
	* unittests/rsp-low-selftests.c: New file.
	* common/rsp-low.h: Include common/byte-vector.h.
	(hex2bin): New overload.
	* common/rsp-low.c (hex2bin): New overload.
2017-11-24 10:40:15 -05:00
..
agent.c
agent.h
array-view.h Introduce gdb::array_view 2017-09-04 17:10:12 +01:00
ax.def
break-common.h
btrace-common.c
btrace-common.h
buffer.c Make xml_escape_text return an std::string 2017-09-16 14:19:31 +02:00
buffer.h
byte-vector.h
cleanups.c
cleanups.h
common-debug.c
common-debug.h
common-defs.h
common-exceptions.c Eliminate catch_errors 2017-10-10 16:45:50 +01:00
common-exceptions.h Eliminate catch_exceptions/catch_exceptions_with_msg 2017-10-10 17:01:25 +01:00
common-gdbthread.h
common-inferior.h Extend "set cwd" to work on gdbserver 2017-10-04 02:01:45 -04:00
common-regcache.c
common-regcache.h
common-types.h
common-utils.c Introduce string_appendf/string_vappendf 2017-10-30 11:41:34 +00:00
common-utils.h Introduce in_inclusive_range, fix -Wtautological-compare warnings 2017-10-30 14:27:38 -04:00
common.host
common.m4 Don't check termio.h and sgtty.h in common/common.m4 either 2017-11-06 16:19:12 +00:00
create-version.sh
def-vector.h
default-init-alloc.h
diagnostics.h
enum-flags.h
environ.c
environ.h
errors.c
errors.h
fileio.c
fileio.h
filestuff.c Make open_fds an std::vector 2017-11-17 13:03:34 -05:00
filestuff.h
format.c Target FP printing: Simplify and fix ui_printf 2017-10-24 18:00:50 +02:00
format.h Target FP printing: Simplify and fix ui_printf 2017-10-24 18:00:50 +02:00
function-view.h
gdb_assert.h
gdb_locale.h
gdb_optional.h
gdb_ref_ptr.h
gdb_setjmp.h
gdb_signals.h
gdb_splay_tree.h Remove free_splay_tree cleanup 2017-10-09 17:39:29 -06:00
gdb_sys_time.h
gdb_tilde_expand.c Introduce gdb_tilde_expand 2017-10-04 01:57:29 -04:00
gdb_tilde_expand.h Introduce gdb_tilde_expand 2017-10-04 01:57:29 -04:00
gdb_unique_ptr.h
gdb_unlinker.h
gdb_vecs.c
gdb_vecs.h Remove DEF_VEC_I (int) 2017-11-17 13:03:34 -05:00
gdb_wait.h
host-defs.h
job-control.c Assume termios is available, remove support for termio and sgtty 2017-11-06 15:36:46 +00:00
job-control.h
mingw-strerror.c
new-op.c
offset-type.h
poison.h
posix-strerror.c
preprocessor.h
print-utils.c
print-utils.h
ptid.c
ptid.h
queue.h
refcounted-object.h Use DISABLE_COPY_AND_ASSIGN 2017-09-19 10:10:03 +01:00
rsp-low.c remote: C++ify thread_item and threads_listing_context 2017-11-24 10:40:15 -05:00
rsp-low.h remote: C++ify thread_item and threads_listing_context 2017-11-24 10:40:15 -05:00
run-time-clock.c
run-time-clock.h
scoped_restore.h
selftest.c Add selftests run filtering 2017-09-16 14:06:03 +02:00
selftest.h Add selftests run filtering 2017-09-16 14:06:03 +02:00
signals-state-save-restore.c
signals-state-save-restore.h
signals.c
symbol.h
traits.h
underlying.h
valid-expr.h
vec.c
vec.h
version.h
x86-xstate.h
xml-utils.c Make xml_escape_text return an std::string 2017-09-16 14:19:31 +02:00
xml-utils.h Make xml_escape_text return an std::string 2017-09-16 14:19:31 +02:00