+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
+ unittests/optional-selftests.c.
+ (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
+ * unittests/optional-selftests.c: New file.
+ * unittests/optional/assignment/1.cc: New file.
+ * unittests/optional/assignment/2.cc: New file.
+ * unittests/optional/assignment/3.cc: New file.
+ * unittests/optional/assignment/4.cc: New file.
+ * unittests/optional/assignment/5.cc: New file.
+ * unittests/optional/assignment/6.cc: New file.
+ * unittests/optional/assignment/7.cc: New file.
+ * unittests/optional/cons/copy.cc: New file.
+ * unittests/optional/cons/default.cc: New file.
+ * unittests/optional/cons/move.cc: New file.
+ * unittests/optional/cons/value.cc: New file.
+ * unittests/optional/in_place.cc: New file.
+ * unittests/optional/observers/1.cc: New file.
+ * unittests/optional/observers/2.cc: New file.
+
+2017-04-18 Pedro Alves <palves@redhat.com>
+
+ * common/gdb_optional.h: Include common/traits.h.
+ (in_place_t): New type.
+ (in_place): New constexpr variable.
+ (optional::optional): Remove member initialization of
+ m_instantiated.
+ (optional::optional(in_place_t...)): New constructor.
+ (optional::~optional): Use reset.
+ (optional::optional(const optional&)): New.
+ (optional::optional(const optional&&)): New.
+ (optional::optional(T &)): New.
+ (optional::optional(T &&)): New.
+ (operator::operator=(const optional &)): New.
+ (operator::operator=(optional &&)): New.
+ (operator::operator= (const T &))
+ (operator::operator= (T &&))
+ (operator::emplace (Args &&... args)): Return a T&. Use reset.
+ (operator::reset): New.
+ (operator::m_instantiated):: Add in-class initializer.
+ * common/traits.h: Include <type_traits>.
+ (struct And): New types.
+
+2017-04-18 Pedro Alves <palves@redhat.com>
+
+ * xml-support.c: Include <vector>.
+ (scope_level::scope_level(const gdb_xml_element *))
+ (scope_level::scope_level(scope_level&&)): New.
+ (scope_level::~scope_level): New.
+ (scope_level_s): Delete.
+ (gdb_xml_parser::scopes): Now a std::vector.
+ (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
+ Use std::vector.
+ (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
+ scope cleanup code.
+ (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
+ of the scopes member. Use std::vector::emplace_back.
+
+2017-04-18 Pedro Alves <palves@redhat.com>
+
+ * xml-support.c (gdb_xml_parser): Add ctor/dtor. Make is_xinclude
+ a bool.
+ (gdb_xml_end_element): Change type of first parameter.
+ (gdb_xml_cleanup): Rename to ...
+ (gdb_xml_parser::~gdb_xml_parser): ... this.
+ (gdb_xml_create_parser_and_cleanup): Delete with ...
+ (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
+ to this new ctor.
+ (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
+ using gdb_xml_create_parser_and_cleanup.
+ (xinclude_parsing_data): Add ctor/dtor.
+ (xml_xinclude_cleanup): Delete.
+ (xml_process_xincludes): Create a local xinclude_parsing_data
+ instead of heap-allocating one. Create a local gdb_xml_parser
+ instead of heap-allocating one with
+ gdb_xml_create_parser_and_cleanup.
+
+2017-04-18 John Baldwin <jhb@FreeBSD.org>
+
+ PR threads/20743
+ * fbsd-nat.c (resume_one_thread_cb): Remove.
+ (resume_all_threads_cb): Remove.
+ (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
+ iterate_over_threads.
+
+2017-04-17 Joel Brobecker <brobecker@adacore.com>
+
+ * NEWS: Create a new section for the next release branch.
+ Rename the section of the current branch, now that it has
+ been cut.
+
+2017-04-17 Joel Brobecker <brobecker@adacore.com>
+
+ GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
+ * version.in: Bump version to 8.0.50.DATE-git.
+
+2017-04-13 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ PR gdb/21385
+ * windows-nat.c (windows_create_inferior): Declare 'allargs'
+ independently of the host, and fix build breakage on Cygwin.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ * inferior.c (free_inferior): Convert to ...
+ (inferior::~inferior): ... this dtor.
+ (inferior::inferior): New ctor, factored out from ...
+ (add_inferior_silent): ... here. Allocate the inferior with a new
+ expression.
+ (delete_inferior): Call delete instead of free_inferior.
+ * inferior.h (gdb_environ, continuation): Forward declare.
+ (inferior): Now a class. Add in-class initialization to all
+ members. Make boolean fields bool, except 'detaching'.
+ (inferior::inferior): New explicit ctor.
+ (inferior::~inferior): New.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ * inferior.c (init_inferior_list): Delete.
+ * inferior.h (init_inferior_list): Delete.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ PR threads/13217
+ * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
+ (top level): Call it twice, with different thread sets.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ * thread.c: Include <algorithm>.
+ (thread_array_cleanup): Delete.
+ (scoped_inc_dec_ref): New class.
+ (live_threads_count): New function.
+ (set_thread_refcount): Delete.
+ (tp_array_compar_ascending): Now a bool.
+ (tp_array_compar): Convert to a std::sort comparison function.
+ (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
+ and live_threads_count.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (follow_fork_inferior): Also switch the current
+ inferior.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (watch_command_1): Save watchpoint-frame info
+ before calling create_internal_breakpoint.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ * fork-child.c (execv_argv): New class.
+ (breakup_args): Refactored as ...
+ (execv_argv::init_for_no_shell): .. this method of execv_argv.
+ Copy arguments to storage and replace separators with NULL
+ terminators in place.
+ (escape_bang_in_quoted_argument): Adjust to return bool.
+ (execv_argv::execv_argv): New ctor.
+ (execv_argv::init_for_shell): New method, factored out from
+ fork_inferior. Don't strdup strings into the vector.
+ (fork_inferior): Eliminate "shell" local and use execv_argv. Use
+ Remove free_vector_argv call.
+
+2017-04-13 Yao Qi <yao.qi@linaro.org>
+
+ * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
+ tdep->rx_psw_type.
+
+2017-04-13 Yao Qi <yao.qi@linaro.org>
+
+ * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
+ * rx-tdep.c (rx_gdbarch_init): Likewise.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.h (struct breakpoint): Reindent.
+
+2017-04-13 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (bp_location): Rename to ...
+ (bp_locations): ... this. All references updated.
+ (bp_location_count): Rename to ...
+ (bp_locations_count): ... this. All references updated.
+ (bp_location_placed_address_before_address_max): Rename to ...
+ (bp_locations_placed_address_before_address_max): ... this. All
+ references updated.
+ (bp_location_shadow_len_after_address_max): Rename to ...
+ (bp_locations_shadow_len_after_address_max): ... this. All
+ references updated.
+ (bp_location_compare_addrs): Rename to ...
+ (bp_locations_compare_addrs): ... this. All references updated.
+ (bp_location_compare):Rename to ...
+ (bp_locations_compare): ... this. All references updated.
+ (bp_location_target_extensions_update): Rename to ...
+ (bp_locations_target_extensions_update): ... this. All references
+ updated.
+
+2017-04-12 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
+ * common/common.m4: Check headers 'termios.h', 'termio.h' and
+ 'sgtty.h'.
+ * common/gdb_termios.h: New file, with parts of "terminal.h".
+ * inflow.c: Include "gdb_termios.h".
+ * ser-unix.c: Include "gdb_termios.h".
+ * terminal.h: Move terminal-related defines to
+ "common/gdb_termios.h".
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * probe.c (parse_probes): Update.
+ * location.h (delete_event_location): Don't declare.
+ (event_location_deleter::operator()): Update.
+ * location.c (event_location_deleter::operator()): Rename from
+ delete_event_location.
+ * linespec.h (linespec_result) <location>: Change type to
+ event_location_up.
+ * linespec.c (canonicalize_linespec, event_location_to_sals)
+ (decode_objc): Update.
+ (linespec_result): Don't call delete_event_location.
+ * breakpoint.c (create_breakpoints_sal)
+ (bkpt_probe_create_sals_from_location)
+ (strace_marker_create_sals_from_location): Update.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * linespec.h (struct linespec_result): Add constructor and
+ destructor.
+ (init_linespec_result, destroy_linespec_result)
+ (make_cleanup_destroy_linespec_result): Don't declare.
+ * linespec.c (init_linespec_result): Remove.
+ (linespec_result::~linespec_result): Rename from
+ destroy_linespec_result. Update.
+ (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
+ Remove.
+ * breakpoint.c (create_breakpoint, break_range_command)
+ (decode_location_default): Update.
+ * ax-gdb.c (agent_command_1): Update.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * remote.c (remote_download_tracepoint): Update.
+ * python/py-breakpoint.c (bppy_get_location): Update.
+ * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
+ (gdbscm_breakpoint_location): Update.
+ * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
+ * breakpoint.h (struct breakpoint) <location, location_range_end>:
+ Change type to event_location_up.
+ * breakpoint.c (create_overlay_event_breakpoint)
+ (create_longjmp_master_breakpoint)
+ (create_std_terminate_master_breakpoint)
+ (create_exception_master_breakpoint)
+ (breakpoint_event_location_empty_p, print_breakpoint_location)
+ (print_one_breakpoint_location, create_thread_event_breakpoint)
+ (init_breakpoint_sal, create_breakpoint)
+ (print_recreate_ranged_breakpoint, break_range_command)
+ (init_ada_exception_breakpoint, say_where): Update.
+ (base_breakpoint_dtor): Don't call delete_event_location.
+ (bkpt_print_recreate, tracepoint_print_recreate)
+ (dprintf_print_recreate, update_static_tracepoint)
+ (breakpoint_re_set_default): Update.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * compile/compile-loc2c.c (compute_stack_depth_worker): Change
+ type of "to_do". Update.
+ (compute_stack_depth): Use std::vector.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * printcmd.c (find_instruction_backward): Use std::vector.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * symfile.c (objfilep): Remove typedef.
+ (reread_symbols): Use a std::vector.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * mi/mi-main.c (exec_direction_forward): Remove.
+ (exec_reverse_continue, mi_execute_command): Use scoped_restore.
+ * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
+ scoped_restore.
+ * guile/guile.c (guile_repl_command, guile_command)
+ (gdbscm_execute_gdb_command): Use scoped_restore.
+ * go-exp.y (go_parse): Use scoped_restore.
+ * d-exp.y (d_parse): Use scoped_restore.
+ * cli/cli-decode.c (cmd_func): Use scoped_restore.
+ * c-exp.y (c_parse): Use scoped_restore.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
+ (mi_parse): Update return type.
+ (mi_parse_free): Remove.
+ * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
+ (mi_parse::~mi_parse): Rename from mi_parse_free.
+ (mi_parse_cleanup): Remove.
+ (mi_parse): Return a unique_ptr. Use new.
+ * mi/mi-main.c (mi_execute_command): Update.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * location.c (explicit_location_lex_one): Return a
+ unique_xmalloc_ptr.
+ (string_to_explicit_location): Update. Remove cleanups.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
+ (compare_value_and_voffset): Change type. Update.
+ (compute_vtable_size): Change type of "offset_vec".
+ (gnuv3_print_vtable): Use std::vector. Remove cleanups.
+ (gnuv3_get_typeid): Remove extraneous declaration.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * charset.h (wchar_iterator): Fix comment.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * charset.c (iconv_wrapper): New class.
+ (cleanup_iconv): Remove.
+ (convert_between_encodings): Use it.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * symfile.h (increment_reading_symtab): Update type.
+ * symfile.c (decrement_reading_symtab): Remove.
+ (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
+ * psymtab.c (psymtab_to_symtab): Update.
+ * dwarf2read.c (dw2_instantiate_symtab): Update.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * jit.c (struct jit_reader): Declare separately. Add constructor
+ and destructor. Change type of "handle".
+ (loaded_jit_reader): Define separately.
+ (jit_reader_load): Update. New "new".
+ (jit_reader_unload_command): Use "delete".
+ * gdb-dlfcn.h (struct dlclose_deleter): New.
+ (gdb_dlhandle_up): New typedef.
+ (gdb_dlopen, gdb_dlsym): Update types.
+ (gdb_dlclose): Remove.
+ * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
+ (gdb_dlsym): Change type of "handle".
+ (make_cleanup_dlclose): Remove.
+ (dlclose_deleter::operator()): Rename from gdb_dlclose.
+ * compile/compile-c-support.c (load_libcc): Update.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * symtab.h (find_pcs_for_symtab_line): Change return type.
+ * symtab.c (find_pcs_for_symtab_line): Change return type.
+ * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
+ type of "vec". Update.
+ (ltpy_get_pcs_for_line): Update.
+ * linespec.c (decode_digits_ordinary): Update.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * tracepoint.c (actions_command): Update.
+ * python/python.c (python_command, python_interactive_command):
+ Update.
+ * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
+ * guile/guile.c (guile_command): Update.
+ * defs.h (read_command_lines, read_command_lines_1): Return
+ command_line_up.
+ (command_lines_deleter): New struct.
+ (command_line_up): New typedef.
+ * compile/compile.c (compile_code_command)
+ (compile_print_command): Update.
+ * cli/cli-script.h (get_command_line, copy_command_lines): Return
+ command_line_up.
+ (make_cleanup_free_command_lines): Remove.
+ * cli/cli-script.c (get_command_line, read_command_lines_1)
+ (copy_command_lines): Return command_line_up.
+ (while_command, if_command, read_command_lines, define_command)
+ (document_command): Update.
+ (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
+ Remove.
+ * breakpoint.h (breakpoint_set_commands): Change type of
+ "commands".
+ * breakpoint.c (breakpoint_set_commands): Change type of
+ "commands". Update.
+ (do_map_commands_command, update_dprintf_command_list)
+ (create_tracepoint_from_upload): Update.
+
+2017-04-12 Tom Tromey <tom@tromey.com>
+
+ * tracepoint.c (scope_info): Update.
+ * spu-tdep.c (spu_catch_start): Update.
+ * python/python.c (gdbpy_decode_line): Update.
+ * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
+ * python/py-breakpoint.c (bppy_init): Update.
+ * probe.c (parse_probes): Update.
+ * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
+ * location.h (event_location_deleter): New struct.
+ (event_location_up): New typedef.
+ (new_linespec_location, new_address_location, new_probe_location)
+ (new_explicit_location, copy_event_location)
+ (string_to_event_location, string_to_event_location_basic)
+ (string_to_explicit_location): Update return type.
+ (make_cleanup_delete_event_location): Remove.
+ * location.c (new_linespec_location, new_address_location)
+ (new_probe_location, new_explicit_location, copy_event_location):
+ Return event_location_up.
+ (delete_event_location_cleanup)
+ (make_cleanup_delete_event_location): Remove.
+ (string_to_explicit_location, string_to_event_location_basic)
+ (string_to_event_location): Return event_location_up.
+ * linespec.c (canonicalize_linespec, event_location_to_sals)
+ (decode_line_with_current_source)
+ (decode_line_with_last_displayed, decode_objc): Update.
+ * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
+ * completer.c (location_completer): Update.
+ * cli/cli-cmds.c (edit_command, list_command): Update.
+ * breakpoint.c (create_overlay_event_breakpoint)
+ (create_longjmp_master_breakpoint)
+ (create_std_terminate_master_breakpoint)
+ (create_exception_master_breakpoint)
+ (create_thread_event_breakpoint): Update.
+ (init_breakpoint_sal): Update. Remove some dead code.
+ (create_breakpoint_sal): Change type of "location". Update.
+ (create_breakpoints_sal, create_breakpoint, break_command_1)
+ (dprintf_command, break_range_command, until_break_command)
+ (init_ada_exception_breakpoint)
+ (strace_marker_create_sals_from_location)
+ (update_static_tracepoint, trace_command, ftrace_command)
+ (strace_command, create_tracepoint_from_upload): Update.
+ * break-catch-throw.c (re_set_exception_catchpoint): Update.
+ * ax-gdb.c (agent_command_1): Update.
+
+2017-04-12 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
+ * configure.tgt: Handle i[34567]86-*-go32* and
+ i[34567]86-*-msdosdjgpp*.
+ * i386-tdep.c (i386_svr4_reg_to_regnum):
+ Make extern.
+ (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
+ i386-go32-tdep.c.
+ (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
+ * i386-go32-tdep.c: New file.
+ * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
+ declarations.
+
+2017-04-12 Simon Marchi <simon.marchi@ericsson.com>
+
+ * aix-thread.c (pd_status2str): Change return type to const char *.
+
+2017-04-12 Pedro Alves <palves@redhat.com>
+
+ * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
+ calls to set_gdbarch_gnu_triplet_regexp.
+
+2017-04-12 Pedro Alves <palves@redhat.com>
+
+ PR gdb/21323
+ * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
+ New enum value.
+ (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
+ * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
+ * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
+ * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
+ * gdbarch.h, gdbarch.c: Regenerate.
+ * aarch64-tdep.c (aarch64_gdbarch_init): Override
+ gdbarch_wchar_bit and gdbarch_wchar_signed.
+ * alpha-tdep.c (alpha_gdbarch_init): Likewise.
+ * arm-tdep.c (arm_gdbarch_init): Likewise.
+ * avr-tdep.c (avr_gdbarch_init): Likewise.
+ * h8300-tdep.c (h8300_gdbarch_init): Likewise.
+ * i386-nto-tdep.c (i386nto_init_abi): Likewise.
+ * i386-tdep.c (i386_go32_init_abi): Likewise.
+ * m32r-tdep.c (m32r_gdbarch_init): Likewise.
+ * moxie-tdep.c (moxie_gdbarch_init): Likewise.
+ * nds32-tdep.c (nds32_gdbarch_init): Likewise.
+ * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
+ * sh-tdep.c (sh_gdbarch_init): Likewise.
+ * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
+ * sparc64-tdep.c (sparc64_init_abi): Likewise.
+ * windows-tdep.c (windows_init_abi): Likewise.
+ * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
+
+2017-04-12 Pedro Alves <palves@redhat.com>
+
+ PR c++/21323
+ * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
+ cplus_primitive_type_char32_t>: New enum values.
+ (cplus_language_arch_info): Register cplus_primitive_type_char16_t
+ and cplus_primitive_type_char32_t.
+ * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
+ 32, use the archtecture's built-in type for char16_t and char32_t,
+ respectively. Otherwise, fallback to init_integer_type as before,
+ but make the type unsigned, and issue a complaint.
+ * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
+
+2017-04-12 Alan Hayward <alan.hayward@arm.com>
+
+ * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
+ (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
+
+2017-04-12 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * windows-nat.c (windows_create_inferior): Declare 'toexec' as
+ 'const char *'.
+
+2017-04-12 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * common/common-utils.c (free_vector_argv): New function.
+ * common/common-utils.h: Include <vector>.
+ (free_vector_argv): New prototype.
+ * darwin-nat.c (darwin_create_inferior): Rewrite function
+ prototype in order to constify "exec_file" and accept a
+ "std::string" for "allargs".
+ * fork-child.c: Include <vector>.
+ (breakup_args): Rewrite function, using C++.
+ (fork_inferior): Rewrite function header, constify "exec_file_arg"
+ and accept "std::string" for "allargs". Update the code to
+ calculate "argv" based on "allargs". Update calls to "exec_fun"
+ and "execvp".
+ * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
+ order to constify "exec_file" and accept a "std::string" for
+ "allargs".
+ * go32-nat.c (go32_create_inferior): Likewise.
+ * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
+ * infcmd.c (run_command_1): Constify "exec_file". Use
+ "std::string" for inferior arguments.
+ * inferior.h (fork_inferior): Update prototype.
+ * linux-nat.c (linux_nat_create_inferior): Rewrite function
+ prototype in order to constify "exec_file" and accept a
+ "std::string" for "allargs".
+ * nto-procfs.c (procfs_create_inferior): Likewise.
+ * procfs.c (procfs_create_inferior): Likewise.
+ * remote-sim.c (gdbsim_create_inferior): Likewise.
+ * remote.c (extended_remote_run): Update code to accept
+ "std::string" as argument.
+ (extended_remote_create_inferior): Rewrite function prototype in
+ order to constify "exec_file" and accept a "std::string" for
+ "allargs".
+ * rs6000-nat.c (super_create_inferior): Likewise.
+ (rs6000_create_inferior): Likewise.
+ * target.h (struct target_ops) <to_create_inferior>: Likewise.
+ * windows-nat.c (windows_create_inferior): Likewise.
+
+2017-04-11 Pedro Alves <palves@redhat.com>
+
+ * thread.c: Fix whitespace throughout.
+
+2017-04-11 Philipp Rudo <prudo@linux.vnet.ibm.com>
+
+ * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
+
+2017-04-11 Alan Hayward <alan.hayward@arm.com>
+
+ * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
+
+2017-04-10 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ PR gdb/21364
+ * osdata.c (info_osdata): Check if 'type' is an empty string
+ instead of NULL.
+
+2017-04-10 Pedro Alves <palves@redhat.com>
+
+ * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
+ (ptid_to_global_thread_id, in_thread_list)
+ (do_captured_list_thread_ids, set_resumed, set_running)
+ (set_executing, set_stop_requested, finish_thread_state)
+ (validate_registers_access, can_access_registers_ptid)
+ (print_thread_info_1, switch_to_thread)
+ (do_restore_current_thread_cleanup)
+ (make_cleanup_restore_current_thread, thread_command)
+ (thread_name_command): Use operator== instead of ptid_equal.
+
+2017-04-10 Pedro Alves <palves@redhat.com>
+
+ * thread.c (struct current_thread_cleanup) <next>: Delete field.
+ (current_thread_cleanup_chain): Delete.
+ (restore_current_thread_cleanup_dtor)
+ (make_cleanup_restore_current_thread): Remove references to
+ current_thread_cleanup_chain.
+
+2017-04-10 Alan Hayward <alan.hayward@arm.com>
+
+ * msp430-tdep.c (msp430_pseudo_register_read): Never return
+ REG_UNKNOWN.
+
+2017-04-10 Yao Qi <yao.qi@linaro.org>
+
+ PR gdb/19942
+ * gdbthread.h (thread_info::deletable): New method.
+ (thread_info::incref): New method.
+ (thread_info::decref): New method.
+ (thread_info::refcount): Move it to private.
+ * infrun.c (save_stop_context): Call inc_refcount.
+ (release_stop_context_cleanup): Likewise.
+ * thread.c (set_thread_exited): New function.
+ (init_thread_list): Delete "tp" only it is deletable, otherwise
+ call set_thread_exited.
+ (delete_thread_1): Call set_thread_exited.
+ (current_thread_cleanup) <inferior_pid>: Remove.
+ <thread>: New field.
+ (restore_current_thread_ptid_changed): Removed.
+ (do_restore_current_thread_cleanup): Adjust.
+ (restore_current_thread_cleanup_dtor): Don't call
+ find_thread_ptid.
+ (set_thread_refcount): Use dec_refcount.
+ (make_cleanup_restore_current_thread): Adjust.
+ (thread_apply_all_command): Call inc_refcount.
+ (_initialize_thread): Don't call
+ observer_attach_thread_ptid_changed.
+
+2017-04-10 Yao Qi <yao.qi@linaro.org>
+
+ * thread.c (delete_thread_1): Hoist code on marking thread as
+ exited.
+
2017-04-09 Simon Marchi <simon.marchi@polymtl.ca>
* windows-nat.c (windows_detach): Initialize ptid with
* frame.c (get_frame_register_bytes): Unwind using value.
(put_frame_register_bytes): Likewise.
+2017-03-30 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
+ aggregate-like.
+
2017-03-29 Jan Kratochvil <jan.kratochvil@redhat.com>
* auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.