+2016-12-02 Yao Qi <yao.qi@linaro.org>
+ Pedro Alves <palves@redhat.com>
+
+ * aarch64-tdep.c: Include "selftest.h".
+ (abstract_instruction_reader): New class.
+ (instruction_reader): New class.
+ (aarch64_analyze_prologue): Add new parameter reader. Call
+ reader.read instead of read_memory_unsigned_integer.
+ [GDB_SELF_TEST] (instruction_reader_test): New class.
+ (aarch64_analyze_prologue_test): New function.
+ (_initialize_aarch64_tdep) [GDB_SELF_TEST]: Register
+ selftests::aarch64_analyze_prologue_test.
+ * trad-frame.c (trad_frame_cache_zalloc):
+ (trad_frame_alloc_saved_regs): Add a new function.
+ * trad-frame.h (trad_frame_alloc_saved_regs): Declare.
+
+2016-12-01 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (enum ui_out_table_state): Move to class
+ ui_out_table as ui_out_table::state.
+ (struct ui_out_table): Change to ...
+ (class ui_out_table): ... this.
+ <flag>: Remove.
+ <entry_level>: Rename to ...
+ <m_entry_level>: ... this.
+ <columns>: Rename to ...
+ <m_nr_cols>: ... this.
+ <id>: Rename to ...
+ <m_id>: ... this.
+ <headers>: Rename to ...
+ <m_headers>: ... this.
+ <headers_iterator>: Rename to ...
+ <m_headers_iterator>: ... this.
+ <start_body, append_header, start_row, get_next_header,
+ query_field, current_state, entry_level>: New methods.
+ (struct ui_out) <table>: Change type to unique_ptr to
+ ui_out_table.
+ (append_header_to_list, get_next_header, clear_header_list,
+ clear_table): Remove.
+ (ui_out_table_begin): Instantiate ui_out_table object. Update
+ table check.
+ (ui_out_table_body): Update table check, replace code with call
+ to ui_out_table::start_body.
+ (ui_out_table_end): Update table check, replace manual cleanup
+ with assignment of uiout->table unique_ptr to nullptr.
+ (ui_out_table_header): Update table check, replace call to
+ append_header_to_list with call to append_header method.
+ (ui_out_begin): Remove one table state check, update another.
+ Replace code with call to start_row method.
+ (verify_field): Update table checks.
+ (ui_out_query_field): Update table check, replace code with call
+ to query_field method.
+ (ui_out_new): Remove table initialization code.
+
+2016-12-01 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (enum ui_out_table_state): New enum.
+ (struct ui_out_table) <body_flag>: Remove field.
+ <state>: New field.
+ (ui_out_table_begin): Replace usages of body_flag with state.
+ (ui_out_table_body): Likewise.
+ (ui_out_table_end): Likewise.
+ (ui_out_table_header): Likewise.
+ (ui_out_begin): Likewise.
+ (verify_field): Likewise.
+ (ui_out_new): Likewise.
+
+2016-12-01 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.h (ui_out_begin_ftype): Remove level parameter.
+ (ui_out_end_ftype): Likewise.
+ * ui-out.c (struct ui_out) <level>: Replace field with a method
+ that dynamically computes the result.
+ (current_level): Get vector's back item instead of using
+ uiout->level.
+ (push_level): Make return type void.
+ (pop_level): Make return type void and update access to
+ ui_out::level.
+ (uo_begin): Remove level parameter.
+ (uo_end): Likewise.
+ (ui_out_table_begin): Update access to uiout::level.
+ (ui_out_begin): Don't read return value from push_level, call
+ uiout->level() instead, update call to uo_begin.
+ (ui_out_end): Don't read return value from pop_level, update
+ call to uo_end.
+ (verify_field): Update access to uiout->level.
+ (ui_out_new): Don't initialize ui_out::level, call push_level
+ to push the initial level instead of doing it by hand.
+ * cli-out.c (cli_begin): Remove level parameter.
+ (cli_end): Likewise.
+ * mi/mi-out.c (mi_begin): Likewise.
+ (mi_end): Likewise.
+
+2016-12-01 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (struct ui_out_level): Replace with ...
+ (class ui_out_level): ... this.
+ (current_level): Update.
+ (push_level): Update.
+ (pop_level): Update.
+ (verify_field): Update.
+ (ui_out_new): Update.
+
+2016-12-01 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (struct ui_out_hdr): Replace with ...
+ (class ui_out_hdr): ... this.
+ (append_header_to_list): Update.
+ (get_next_header): Update.
+ (ui_out_query_field): Update.
+
+2016-12-01 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * mi/mi-out.c (mi_table_header): Change char * args to
+ std::string.
+ * cli-out.c (cli_table_header): Likewise.
+ * ui-out.h (table_header_ftype): Likewise.
+ (ui_out_table_header): Constify colhdr argument.
+ (ui_out_query_field): Constify col_name argument.
+ * ui-out.c (ui_out_hdr) <col_name, colhdr>: Change type to
+ std::string.
+ (uo_table_header): Change char * args to std::string.
+ (ui_out_table_header): Likewise.
+ (get_next_header): Constify colhdr argument and adapt.
+ (clear_header_list): Don't free col_name/colhdr fields.
+ (append_header_to_list): Change char * args to std::string and
+ adapt.
+ (verify_field): Constify variable.
+ (ui_out_query_field): Constify col_name argument and adapt.
+ * breakpoint.c (wrap_indent_at_field): Constify variable.
+
+2016-12-01 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (struct ui_out_hdr) <next>: Remove.
+ (struct ui_out_table) <header_first, header_last, header_next>: Remove.
+ <headers, headers_iterator>: New fields.
+ (ui_out_table_body): Update for the new data structure.
+ (ui_out_begin): Likewise.
+ (clear_header_list): Likewise.
+ (append_header_to_list): Likewise.
+ (get_next_header): Likewise.
+ (ui_out_query_field): Likewise.
+ (ui_out_new): Likewise.
+
+2016-11-30 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (struct ui_out_table) <id>: Change type to
+ std::string.
+ (ui_out_table_begin): Change tblid parameter type to
+ std::string, adapt code.
+ update following type change.
+ (clear_table): Update.
+ (ui_out_new): Update.
+
+2016-11-30 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * cli-out.h (cli_ui_out_data) <streams>: Change type to
+ std::vector.
+ * cli-out.c: Remove vec.h include.
+ (cli_uiout_dtor): Update.
+ (cli_field_fmt): Update.
+ (cli_spaces): Update.
+ (cli_text): Update.
+ (cli_message): Update.
+ (cli_flush): Update.
+ (cli_redirect): Update.
+ (out_field_fmt): Update.
+ (field_separator): Update.
+ (cli_out_data_ctor): Update.
+ (cli_out_new): Update.
+ (cli_out_set_stream): Update.
+
+2016-11-30 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * mi/mi-out.c: Remove vec.h include.
+ (mi_ui_out_data) <streams>: Change type to std::vector.
+ (mi_field_string): Update.
+ (mi_field_fmt): Update.
+ (mi_flush): Update.
+ (mi_redirect): Update.
+ (field_separator): Update.
+ (mi_open): Update.
+ (mi_close): Update.
+ (mi_out_buffered): Update.
+ (mi_out_rewind): Update.
+ (mi_out_put): Update.
+ (mi_out_data_ctor): Update.
+ (mi_out_data_dtor): Don't free streams.
+
+2016-11-30 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (ui_out_level_p): Remove typedef.
+ (DEF_VEC_P (ui_out_level_p)): Remove definition.
+ (struct ui_out) <levels>: Change type to vector of unique_ptr of
+ ui_out_level.
+ (current_level): Update.
+ (push_level): Update.
+ (pop_level): Update, don't manually delete the ui_out_level
+ instance.
+ (ui_out_new): Update.
+
+2016-11-30 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * cli-out.c (cli_uiout_dtor): Use delete instead of xfree.
+ (cli_out_new): Use new instead of XNEW.
+ * mi/mi-out.c (mi_out_data_dtor): Use delete instead of xfree.
+ (mi_out_new): Use new instead of XNEW.
+ * tui/tui-out.c (tui_out_new): Likewise.
+ * ui-out.c (push_level): Likewise.
+ (pop_level): Use delete instead of xfree.
+ (clear_header_list): Use delete instead of xfree.
+ (append_header_to_list): Use new instead of XNEW.
+ (ui_out_new): Likewise.
+
+2016-11-30 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * disable-implicit-rules.mk: New file.
+ * Makefile.in: Include disable-implicit-rules.mk.
+ * data-directory/Makefile.in: Likewise.
+ * gnulib/Makefile.in: Likewise.
+
+2016-11-30 Yao Qi <yao.qi@linaro.org>
+
+ * arm-tdep.c (arm_scan_prologue): Read memory as unsigned integer.
+ (arm_exidx_unwind_sniffer): Likewise.
+
+2016-11-28 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * record-full.c (record_full_open_1): Fix debug output.
+
+2016-11-26 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * mi/mi-out.c (mi_message): Remove verbosity argument.
+ * ada-tasks.c (print_ada_task_info, info_task, task_command):
+ Update call.
+ * auto-load.c (auto_load_info_scripts): Likewise.
+ * breakpoint.c (breakpoint_1, watchpoints_info, tracepoints_info):
+ Likewise.
+ * cli-out.c (cli_message): Remove verbosity argument.
+ * inferior.c (print_inferior): Update call.
+ * linux-thread-db.c (info_auto_load_libthread_db): Likewise.
+ * probe.c (info_probes_for_ops): Likewise.
+ * skip.c (skip_info): Likewise.
+ * solib.c (info_sharedlibrary_command): Likewise.
+ * symfile.c (load_progress): Likewise.
+ * thread.c (print_thread_info_1): Likewise.
+ * ui-out.c (uo_message, ui_out_message): Remove verbosity argument.
+ (ui_out_get_verblvl): Remove.
+ * ui-out.h (ui_out_message): Remove verbosity argument.
+ (ui_out_get_verblvl): Remove.
+ (message_ftype): Remove verbosity argument.
+
+2016-11-26 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * mi/mi-out.c (mi_wrap_hint): Constify argument.
+ * cli-out.c (cli_wrap_hint): Likewise.
+ * ui-out.c (ui_out_wrap_hint, uo_wrap_hint): Likewise.
+ * ui-out.h (ui_out_wrap_hint, wrap_hint_ftype): Likewise.
+ * utils.c (wrap_here): Likewise.
+ (wrap_indent): Constify.
+ * utils.h (wrap_here): Constify argument.
+
+2016-11-26 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (uo_redirect): Return the return value from the
+ implementation function.
+
+2016-11-26 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (ui_out_destroy, uo_data_destroy): Remove.
+ * ui-out.h (ui_out_destroy): Remove.
+
+2016-11-26 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * mi/mi-out.c (ui_out_data): Rename to ...
+ (mi_ui_out_data): ... this.
+
+2016-11-26 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.c (_initialize_ui_out): Remove.
+ (ui_out_set_flags): Remove.
+ (ui_out_clear_flags): Remove.
+ * ui-out.h (ui_out_begin_cleanup_end): Remove.
+ (ui_out_begin_cleanup_end): Remove.
+ (ui_out_set_flags): Remove.
+ (ui_out_clear_flags): Remove.
+ * mi/mi-out.c (_initialize_mi_out): Remove.
+ (mi_out_buffered): Remove.
+ * mi/mi-out.h (mi_out_buffered): Remove.
+
+2016-11-26 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * ui-out.h (struct ui_out_impl): Remove comment.
+ * ui-out.c (struct ui_out): Remove comment.
+
+2016-11-25 John Baldwin <jhb@FreeBSD.org>
+
+ * contrib/ari/gdb_ari.sh (no parameter function): Remove check.
+
+2016-11-25 Simon Marchi <simon.marchi@ericsson.com>
+
+ * Makefile.in: Fix typo.
+
+2016-11-25 Simon Marchi <simon.marchi@ericsson.com>
+
+ * record-full.c (record_full_resume): Fix typos in comment.
+
+2016-11-25 Simon Marchi <simon.marchi@ericsson.com>
+
+ * infcmd.c (interrupt_command): Fix typo in comment.
+
+2016-11-24 John Baldwin <jhb@FreeBSD.org>
+
+ * ada-lang.c (create_excep_cond_exprs): Do not use 'std::move'.
+ * ax-gdb.c (agent_eval_command_one): Likewise.
+ (agent_eval_command_one): Likewise.
+ * breakpoint.c (parse_cond_to_aexpr): Likewise.
+ (parse_cmd_to_aexpr): Likewise.
+ * dtrace-probe.c (dtrace_process_dof_probe): Likewise.
+ * parse.c (parse_expression_for_completion): Likewise.
+
+2016-11-24 John Baldwin <jhb@FreeBSD.org>
+
+ * common/new-op.c (operator new): Mark 'noexcept'.
+ (operator new[]): Likewise.
+
+2016-11-24 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (copy_bitwise): Use memcpy for the middle part, if
+ it is byte-aligned.
+
+2016-11-24 Andreas Arnez <arnez@linux.vnet.ibm.com>
+ Pedro Alves <palves@redhat.com>
+
+ * dwarf2loc.c (bits_to_str, check_copy_bitwise)
+ (copy_bitwise_tests): New functions.
+ (_initialize_dwarf2loc): Register the new function
+ copy_bitwise_tests as a unit test.
+ * selftest.c (run_self_tests): Improve the failure message's
+ wording and formatting.
+
+2016-11-24 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * dwarf2loc.c (extract_bits_primitive): Remove.
+ (extract_bits): Remove.
+ (copy_bitwise): Rewrite. Fixes a possible corruption that may
+ occur for non-byte-aligned copies.
+
2016-11-24 Andreas Arnez <arnez@linux.vnet.ibm.com>
PR gdb/12616