+2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * solib-frv.c (struct lm_info_frv): Fix indentation.
+
+2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
+ map field.
+ (dsbt_current_sos): Allocate lm_info_dsbt with new.
+ (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
+ and allocate with new.
+ (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
+
+2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
+ <filename, member_name>: Change type to std::string.
+ (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
+ (library_list_start_library): Allocate lm_info_aix with new.
+ (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
+ (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
+ with copy constructor.
+
+2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * solist.h (struct lm_info): Remove.
+ (struct lm_info_base): New class.
+ (struct so_list) <lm_info>: Change type to lm_info_base *.
+ * nto-tdep.c (struct lm_info): Remove.
+ (lm_addr): Adjust.
+ * solib-aix.c (struct lm_info): Rename to ...
+ (struct lm_info_aix): ... this. Extend lm_info_base.
+ (lm_info_p): Rename to ...
+ (lm_info_aix_p): ... this, and adjust.
+ (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
+ solib_aix_parse_libraries, library_list_start_library,
+ solib_aix_free_library_list, solib_aix_parse_libraries,
+ solib_aix_get_library_list,
+ solib_aix_relocate_section_addresses, solib_aix_free_so,
+ solib_aix_get_section_offsets,
+ solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
+ Adjust.
+ (struct solib_aix_inferior_data) <library_list>: Adjust.
+ * solib-darwin.c (struct lm_info): Rename to ...
+ (struct lm_info_darwin): ... this. Extend lm_info_base.
+ (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
+ * solib-dsbt.c (struct lm_info): Rename to ...
+ (struct lm_info_dsbt): ... this. Extend lm_info_base.
+ (struct dsbt_info) <main_executable_lm_info): Adjust.
+ (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
+ dsbt_relocate_section_addresses): Adjust.
+ * solib-frv.c (struct lm_info): Rename to ...
+ (struct lm_info_frv): ... this. Extend lm_info_base.
+ (main_executable_lm_info): Adjust.
+ (frv_current_sos, frv_relocate_main_executable, frv_free_so,
+ frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
+ find_canonical_descriptor_in_load_object,
+ frv_fdpic_find_canonical_descriptor): Adjust.
+ * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
+ to lm_info_svr4.
+ (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
+ svr4_clear_so, svr4_copy_library_list,
+ library_list_start_library, svr4_default_sos, svr4_read_so_list,
+ svr4_current_sos, svr4_fetch_objfile_link_map,
+ solist_update_incremental): Adjust.
+ * solib-svr4.h (struct lm_info_svr4): Move here from
+ solib-svr4.c.
+ * solib-target.c (struct lm_info): Rename to ...
+ (struct lm_info_target): ... this. Extend lm_info_base.
+ (lm_info_p): Rename to ...
+ (lm_info_target_p): ... this.
+ (solib_target_parse_libraries, library_list_start_segment,
+ library_list_start_section, library_list_start_library,
+ library_list_end_library, solib_target_free_library_list,
+ solib_target_current_sos, solib_target_free_so,
+ solib_target_relocate_section_addresses): Adjust.
+ * windows-nat.c (struct lm_info): Rename to ...
+ (struct lm_info_windows): ... this. Extend lm_info_base.
+ (windows_make_so, handle_load_dll, handle_unload_dll,
+ windows_xfer_shared_libraries): Adjust.
+
+2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * solib-darwin.c (struct darwin_so_list): Remove.
+ (darwin_current_sos): Allocate an so_list object instead of a
+ darwin_so_list, separately allocate an lm_info object.
+ (darwin_free_so): Free lm_info.
+
+2017-04-28 John Baldwin <jhb@FreeBSD.org>
+
+ * mips-tdep.c (print_gp_register_row): Replace printf_filtered
+ with fprintf_filtered.
+
+2017-04-28 Yao Qi <yao.qi@linaro.org>
+
+ * regcache.c (regcache::regcache): New function.
+ (regcache::~regcache): New function.
+ (regcache_xmalloc_1): Remove.
+ (regcache_xmalloc): Call new regcache.
+ (regcache_xfree): Call delete regcache.
+ (get_thread_arch_aspace_regcache): Call new regcache.
+
+2017-04-28 Yao Qi <yao.qi@linaro.org>
+
+ * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
+ lwp instead of ptid_get_lwp.
+
+2017-04-28 Yao Qi <yao.qi@linaro.org>
+
+ * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
+ lwp_info instead of getting from inferior_ptid.
+
+2017-04-27 Keith Seitz <keiths@redhat.com>
+
+ * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
+ DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
+ (CV_CONVERSION_BADNESS): Define.
+ (rank_one_type): Remove overly restrictive rvalue reference
+ rank checks.
+ Add cv-qualifier checks and subranks for type equality.
+ * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
+ REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
+ CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
+
+2017-04-27 Simon Marchi <simon.marchi@ericsson.com>
+
+ * python/py-inferior.c (inferior_to_inferior_object): Increment reference
+ count when creating the object.
+
+2017-04-27 Sangamesh Mallayya <sangamesh.swamy@in.ibm.com>
+ Ulrich Weigand <uweigand@de.ibm.com>
+
+ * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
+ entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
+ is used in AIX.
+ (read_xcoff_symtab): Handle C_WEAKEXT storage class.
+ (process_xcoff_symbol): Likewise.
+ (scan_xcoff_symtab): Likewise.
+
+2017-04-26 Alan Hayward <alan.hayward@arm.com>
+
+ * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
+ (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
+ (ia64_access_reg): Use get_frame_register_unsigned.
+ (ia64_access_rse_reg): Likewise.
+ (ia64_libunwind_frame_prev_register): Likewise.
+
+2017-04-26 Jiong Wang <jiong.wang@arm.com>
+
+ * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
+ * gdbarch.c: Regenerated.
+ * gdbarch.h: Regenerated.
+ * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
+ visibility external.
+ (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
+ between DW_CFA_lo_user and DW_CFA_high_user inclusive.
+ (enum cfa_how_kind): Move to ...
+ (struct dwarf2_frame_state_reg_info): Likewise.
+ (struct dwarf2_frame_state): Likewise.
+ * dwarf2-frame.h: ... here.
+ (dwarf2_frame_state_alloc_regs): New declaration.
+ * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
+ (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
+
+2017-04-26 Alan Hayward <alan.hayward@arm.com>
+
+ * xtensa-tdep.c (xtensa_pseudo_register_read): Use
+ regcache_raw_read_unsigned.
+ (xtensa_pseudo_register_write): Likewise.
+
+2017-04-26 Alan Hayward <alan.hayward@arm.com>
+
+ * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
+ (nds32_pseudo_register_write): Likewise.
+
+2017-04-25 Yao Qi <yao.qi@linaro.org>
+
+ * regcache.c (struct regcache) <readonly_p>: Change its type
+ to bool.
+ (regcache_xmalloc_1): Update parameter type and callers update.
+
+2017-04-25 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
+ set_gdbarch_wchar_bit.
+ * arm-tdep.c (arm_gdbarch_init): Likewise.
+
+2017-04-25 Pedro Alves <palves@redhat.com>
+
+ * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
+ (BothAreRelocatable, memcopy, memmove): Don't define.
+ * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
+ macros.
+
+2017-04-25 Pedro Alves <palves@redhat.com>
+
+ * common/common-defs.h: Include "common/poison.h".
+ * common/function-view.h: (Not, Or, Requires): Move to traits.h
+ and adjust.
+ * common/poison.h: New file.
+ * common/traits.h: Include <type_traits>.
+ (Not, Or, Requires): New, moved from common/function-view.h.
+
+2017-04-25 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.h (struct breakpoint): In-class initialize all
+ fields. Make boolean fields "bool".
+ * breakpoint.c (init_raw_breakpoint_without_location): Remove
+ memset call and initializations no longer necessary.
+
+2017-04-25 Pedro Alves <palves@redhat.com>
+
+ * btrace.c (pt_btrace_insn_flags): Change parameter type to
+ reference.
+ (pt_btrace_insn): New function.
+ (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
+
+2017-04-25 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_catchpoint_location): Now a "class". Remove
+ "base" field and inherit from "bp_location" instead. Add
+ non-default ctor.
+ (allocate_location_exception): Use new non-default ctor.
+ * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
+ (init_bp_location): Convert to ...
+ (bp_location::bp_location): ... this new ctor, and remove memset
+ call.
+ (base_breakpoint_allocate_location): Use the new non-default ctor.
+ * breakpoint.h (bp_location): Now a class. Declare default and
+ non-default ctors. In-class initialize all members.
+ (init_bp_location): Remove declaration.
+
+2017-04-25 Pedro Alves <palves@redhat.com>
+
+ * common/enum-flags.h (enum_flags): Don't implement copy ctor and
+ assignment operator.
+
+2017-04-24 Yao Qi <yao.qi@linaro.org>
+
+ * doublest.c (convert_doublest_to_floatformat): Call
+ floatformat_totalsize_bytes.
+
+2017-04-22 Tom Tromey <tom@tromey.com>
+
+ * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
+ ui_out_emit_list.
+ * stack.c (print_frame): Use ui_out_emit_list.
+ * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
+ ui_out_emit_list.
+ * mi/mi-main.c (print_one_inferior)
+ (mi_cmd_data_list_register_names)
+ (mi_cmd_data_list_register_values, mi_cmd_list_features)
+ (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
+ ui_out_emit_list.
+ * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
+ (mi_output_solib_attribs): Use ui_out_emit_list,
+ ui_out_emit_tuple.
+ * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
+ * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
+ (mi_cmd_stack_list_args, list_args_or_locals): Use
+ ui_out_emit_list.
+ * disasm.c (do_assembly_only): Use ui_out_emit_list.
+ * breakpoint.c (print_solib_event, output_thread_groups): Use
+ ui_out_emit_list.
+
+2017-04-22 Tom Tromey <tom@tromey.com>
+
+ * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
+ * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
+ * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
+
+2017-04-22 Tom Tromey <tom@tromey.com>
+
+ * tracepoint.c (tvariables_info_1)
+ (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
+
+2017-04-22 Tom Tromey <tom@tromey.com>
+
+ * stack.c (print_frame_arg): Use ui_out_emit_tuple,
+ annotate_arg_emitter.
+ * breakpoint.c (print_mention_watchpoint)
+ (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
+ * annotate.h (struct annotate_arg_emitter): New.
+
+2017-04-22 Tom Tromey <tom@tromey.com>
+
+ * record-btrace.c (record_btrace_insn_history)
+ (record_btrace_insn_history_range, record_btrace_call_history)
+ (record_btrace_call_history_range): Use ui_out_emit_tuple.
+ * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
+ ui_out_emit_tuple.
+ * stack.c (print_frame_info): Use ui_out_emit_tuple.
+ * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
+ * skip.c (skip_info): Use ui_out_emit_tuple.
+ * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
+ * progspace.c (print_program_space): Use ui_out_emit_tuple.
+ * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
+ * osdata.c (info_osdata): Use ui_out_emit_tuple.
+ * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
+ ui_out_emit_tuple.
+ * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
+ (output_register, mi_cmd_data_read_memory)
+ (mi_cmd_data_read_memory_bytes, mi_load_progress)
+ (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
+ * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
+ Use ui_out_emit_tuple.
+ * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
+ ui_out_emit_tuple.
+ * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
+ (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
+ * linux-thread-db.c (info_auto_load_libthread_db): Use
+ ui_out_emit_tuple.
+ * inferior.c (print_inferior): Use ui_out_emit_tuple.
+ * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
+ * disasm.c (do_mixed_source_and_assembly_deprecated)
+ (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
+ * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
+ * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
+ * breakpoint.c (print_one_breakpoint_location)
+ (print_one_breakpoint): Use ui_out_emit_tuple.
+ * auto-load.c (print_script, info_auto_load_cmd): Use
+ ui_out_emit_tuple.
+ * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
+
+2017-04-21 Simon Marchi <simon.marchi@ericsson.com>
+
+ * thread.c (print_thread_info_1): Remove dead code.
+
+2017-04-21 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
+ GDB_SELF_TEST.
+ * arm-tdep.c (selftests::arm_record_test): Likewise.
+
+2017-04-21 Yao Qi <yao.qi@linaro.org>
+
+ * regcache.c (regcache_restore): Remove argument 2. Replace
+ argument 3 with regcache. Get register status from
+ src->register_status and get register contents from
+ register_buffer (src, regnum).
+ (regcache_cpy): Update.
+
+2017-04-19 Pedro Alves <palves@redhat.com>
+
+ * gdbthread.h (thread): Add missing closing parenthesis in
+ comment.
+
+2017-04-19 Pedro Alves <palves@redhat.com>
+
+ * common/refcounted-object.h: New file.
+ * gdbthread.h: Include "common/refcounted-object.h".
+ (thread_info): Inherit from refcounted_object and add comments.
+ (thread_info::incref, thread_info::decref)
+ (thread_info::m_refcount): Delete.
+ (thread_info::deletable): Use the refcounted_object::refcount()
+ method.
+ * inferior.c (current_inferior_): Add comment.
+ (set_current_inferior): Increment/decrement refcounts.
+ (prune_inferiors, remove_inferior_command): Skip inferiors marked
+ not-deletable instead of comparing with the current inferior.
+ (initialize_inferiors): Increment the initial inferior's refcount.
+ * inferior.h (struct inferior): Forward declare.
+ Include "common/refcounted-object.h".
+ (current_inferior, set_current_inferior): Move declaration to
+ before struct inferior's definition, and fix comment.
+ (inferior): Inherit from refcounted_object. Add comments.
+ * thread.c (switch_to_thread_no_regs): Reference the thread's
+ inferior pointer directly instead of doing a ptid lookup.
+ (switch_to_no_thread): New function.
+ (switch_to_thread(thread_info *)): New function, factored out
+ from ...
+ (switch_to_thread(ptid_t)): ... this.
+ (restore_current_thread): Delete.
+ (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
+ fields, and add 'inf' field.
+ (do_restore_current_thread_cleanup): Check whether old->inf is
+ alive instead of looking up an inferior by ptid. Use
+ switch_to_thread and switch_to_no_thread.
+ (restore_current_thread_cleanup_dtor): Use old->inf directly
+ instead of lookup up an inferior by id. Decref the inferior.
+ Don't restore 'removable'.
+ (make_cleanup_restore_current_thread): Same the inferior pointer
+ in old, instead of the inferior number. Incref the inferior.
+ Don't save/clear 'removable'.
+
+2017-04-19 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+ unittests/scoped_restore-selftests.c.
+ (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
+ * common/scoped_restore.h (scoped_restore_base): Make "class".
+ (scoped_restore_base::release): New public method.
+ (scoped_restore_base::scoped_restore_base): New protected ctor.
+ (scoped_restore_base::m_saved_var): New protected field.
+ (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
+ scoped_restore_base base class instead of m_saved_var directly.
+ (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
+ (scoped_restore_tmpl::scoped_restore_tmpl(const
+ scoped_restore_tmpl<T>&)): Likewise.
+ (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
+ method.
+ (scoped_restore_tmpl::saved_var): New method.
+ (scoped_restore_tmpl::m_saved_var): Delete.
+ * inferior.h (inferior::detaching): Now a bool.
+ * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
+ cleanup.
+ * unittests/scoped_restore-selftests.c: New file.
+
+2017-04-19 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
+ Re-sort in alphabetic order.
+
+2017-04-18 Pedro Alves <palves@redhat.com>
+
+ * xml-support.c (obstack_xml_printf): Delete.
+ * xml-support.h (obstack_xml_printf): Delete.
+
+2017-04-18 Pedro Alves <palves@redhat.com>
+
+ * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
+ vdebug, verror, body_text, start_element, end_element, name,
+ user_data, set_is_xinclude, set_error, expat_parser>: New methods.
+ <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
+ is_xinclude>: Make private and add m_ prefix.
+ (gdb_xml_parser::body_text): New method, based on ...
+ (gdb_xml_body_text): ... this. Adjust.
+ (gdb_xml_parser::vdebug): New method, based on ...
+ (gdb_xml_debug): ... this. Adjust.
+ (gdb_xml_parser::verror): New method, based on ...
+ (gdb_xml_error): ... this. Adjust.
+ (gdb_xml_parser::start_element): New method, based on ...
+ (gdb_xml_start_element): ... this. Adjust.
+ (gdb_xml_start_element_wrapper): Defer to
+ gdb_xml_parser::start_element and gdb_xml_parser::set_error.
+ (gdb_xml_parser::end_element): New method, based on ...
+ (gdb_xml_end_element_wrapper): ... this. Adjust.
+ (gdb_xml_parser::~gdb_xml_parser): Adjust.
+ (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
+ (gdb_xml_parser::use_dtd): New method, based on ...
+ (gdb_xml_use_dtd): ... this. Adjust.
+ (gdb_xml_parser::parse): New method, based on ...
+ (gdb_xml_parse): ... this. Adjust.
+ (gdb_xml_parse_quick): Adjust to call the parser's parse method.
+ (xinclude_start_include): Adjust to call the parser's name method.
+ (xml_xinclude_default, xml_xinclude_start_doctype)
+ (xml_xinclude_end_doctype): Adjust to call the parser's user_data
+ method.
+ (xml_process_xincludes): Adjust to call parser methods.
+ * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
+ declarations.
+
+2017-04-18 Pedro Alves <palves@redhat.com>
+
+ * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
+ gdb::optional<std::string>.
+ * xml-support.c: Include <string>.
+ (scope_level::scope_level(scope_level &&))
+ (scope_level::~scope_level): Delete.
+ (scope_level::body): Now a std::string.
+ (gdb_xml_body_text, gdb_xml_end_element): Adjust.
+ (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
+ parameter.
+ (xinclude_parsing_data::~xinclude_parsing_data): Delete.
+ (xinclude_parsing_data::output): Now a std::string reference.
+ (xinclude_start_include): Adjust.
+ (xml_xinclude_default): Adjust.
+ (xml_process_xincludes): Add 'output' parameter, and return bool.
+ * xml-support.h (xml_process_xincludes): Add 'output' parameter,
+ and return bool.
+ * xml-tdesc.c: Include <unordered_map> and <string>.
+ (tdesc_xml_cache): Delete.
+ (tdesc_xml_cache_s): Delete.
+ (xml_cache): Now an std::unordered_map.
+ (tdesc_parse_xml): Adjust to use std::string and unordered_map.
+ (target_fetch_description_xml): Change return type to
+ gdb::optional<std::string>, and adjust.
+ * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
+ (target_fetch_description_xml): Change return type to
+ gdb::optional<std::string>.
+
2017-04-18 Pedro Alves <palves@redhat.com>
* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add