+2017-02-10 Tom Tromey <tom@tromey.com>
+
+ * python/py-prettyprint.c (pretty_print_one_value): Use
+ gdbpy_ref.
+
+2017-02-10 Tom Tromey <tom@tromey.com>
+
+ * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
+ * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
+ gdbpy_ref.
+ * python/py-type.c (field_new): Use gdbpy_ref.
+ * python/py-symtab.c (symtab_and_line_to_sal_object): Use
+ gdbpy_ref.
+ * python/py-progspace.c (pspy_new): Use gdbpy_ref.
+ (py_free_pspace): Likewise.
+ (pspace_to_pspace_object): Likewise.
+ * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
+ (py_free_objfile): Likewise.
+ (objfile_to_objfile_object): Likewise.
+ * python/py-inferior.c (delete_thread_object): Use
+ gdbpy_ref.
+ (infpy_read_memory): Likewise.
+ (py_free_inferior): Likewise.
+ * python/py-evtregistry.c (create_eventregistry_object): Use
+ gdbpy_ref.
+ * python/py-event.c (create_event_object): Use gdbpy_ref.
+
+2017-02-10 Tom Tromey <tom@tromey.com>
+
+ * python/py-ref.h (gdbpy_ref_policy): Now a template.
+ (gdbpy_ref): Now a template; allow subclasses of PyObject to be
+ used.
+ * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
+ python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
+ python/py-exitedevent.c, python/py-finishbreakpoint.c,
+ python/py-framefilter.c, python/py-function.c,
+ python/py-inferior.c, python/py-infevents.c,
+ python/py-linetable.c, python/py-newobjfileevent.c,
+ python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
+ python/py-signalevent.c, python/py-stopevent.c,
+ python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
+ python/py-unwind.c, python/py-utils.c, python/py-value.c,
+ python/py-varobj.c, python/py-xmethods.c, python/python.c,
+ varobj.c: Change gdbpy_ref to gdbpy_ref<>.
+
+2017-02-10 Tom Tromey <tom@tromey.com>
+
+ * ui-out.h (ui_out_emit_type): New class.
+ (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
+ * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
+ and ui_out_emit_tuple.
+ (enumerate_locals): Likewise.
+ (py_mi_print_variables, py_print_locals, py_print_args): Use
+ ui_out_emit_list.
+ (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
+ ui_out_emit_list.
+ * common/gdb_optional.h: New file.
+
+2017-02-10 Martin Galvan <martingalvan@sourceware.org>
+
+ * MAINTAINERS (Write After Approval): Update my e-mail address.
+
+2017-02-10 Martin Galvan <martingalvan@sourceware.org>
+
+ PR gdb/21122
+ * breakpoint.c (_initialize_breakpoint): Update the help description
+ of the 'commands' command to indicate that it takes a list argument.
+
+2017-02-09 Simon Marchi <simon.marchi@ericsson.com>
+
+ * interps.c (current_interp_set_logging): Remove "return".
+
+2017-02-09 Gary Benson <gbenson@redhat.com>
+
+ * symtab.c (add_symtab_completions): Prevent NULL pointer
+ dereference.
+
+2017-02-08 Pedro Alves <palves@redhat.com>
+
+ * interps.c (interp::interp): Remove reference to quiet_p.
+ (interp_set): Make static. Remove dead "Switching to" output
+ code.
+ (interp_quiet_p, interp_set_quiet): Delete.
+ (interpreter_exec_cmd): Don't set the interpreter quiet.
+ * interps.h (interp_quiet_p): Make static.
+ (class interp) <quiet_p>: Remove field
+
+2017-02-08 Jerome Guitton <guitton@adacore.com>
+
+ * cli/cli-decode.c (find_command_name_length): Make it extern.
+ * cli/cli-decode.h (find_command_name_length): Declare.
+ * cli/cli-script.c (command_name_equals, line_first_arg):
+ New functions.
+ (process_next_line): Use cli-decode to parse command names.
+ (build_command_line): Make args a constant pointer.
+
+2017-02-08 Jerome Guitton <guitton@adacore.com>
+
+ * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
+ Remove case-insensitive search.
+
+2017-02-07 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
+ at the end of the line. Avoids an ARI warning.
+
+2017-02-06 Luis Machado <lgustavo@codesourcery.com>
+
+ * NEWS: Mention support for record/replay of Intel 64 rdrand and
+ rdseed instructions.
+ i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
+
+2017-02-06 Ivo Raisr <ivo.raisr@oracle.com>
+
+ PR tdep/20936
+ Provide and use sparc32 and sparc64 target description XML files.
+ * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
+ features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
+ * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
+ features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
+ * features/sparc/sparc32-solaris.xml: New file.
+ * features/sparc/sparc64-solaris.xml: New file.
+ * features/sparc/sparc32-solaris.c: Generated.
+ * features/sparc/sparc64-solaris.c: Generated.
+ * sparc-tdep.h: Account for differences in target descriptions.
+ * sparc-tdep.c (sparc32_register_name): Use target provided registers.
+ (sparc32_register_type): Use target provided registers.
+ (validate_tdesc_registers): New function.
+ (sparc32_gdbarch_init): Use tdesc_has_registers.
+ Set pseudoregister functions.
+ * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
+ (sparc64_register_type): Use target provided registers.
+ (sparc64_init_abi): Set pseudoregister functions.
+
+2017-02-03 Tom Tromey <tom@tromey.com>
+
+ PR rust/21097:
+ * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
+ with a single member.
+
+2017-02-03 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-interp.c (cli_interp_base::cli_interp_base)
+ (cli_interp_base::~cli_interp_base): New.
+ (cli_interp): New struct.
+ (as_cli_interp): Cast the interp itself to cli_interp.
+ (cli_interpreter_pre_command_loop): Rename to ...
+ (cli_interp_base::pre_command_loop): ... this. Remove 'self'
+ parameter.
+ (cli_interpreter_init): Rename to ...
+ (cli_interp::init): ... this. Remove 'self' parameter. Use
+ boolean. Make extern.
+ (cli_interpreter_resume): Rename to ...
+ (cli_interp::resume): ... this. Remove 'data' parameter. Make
+ extern.
+ (cli_interpreter_suspend): Rename to ...
+ (cli_interp::suspend): ... this. Remove 'data' parameter. Make
+ extern.
+ (cli_interpreter_exec): Rename to ...
+ (cli_interp::exec): ... this. Remove 'data' parameter. Make
+ extern.
+ (cli_interpreter_supports_command_editing): Rename to ...
+ (cli_interp_base::supports_command_editing): ... this. Remove
+ 'interp' parameter. Make extern.
+ (cli_ui_out): Rename to ...
+ (cli_interp::interp_ui_out): ... this. Remove 'interp' parameter.
+ Make extern.
+ (cli_set_logging): Rename to ...
+ (cli_interp_base::set_logging): ... this. Remove 'interp'
+ parameter. Make extern.
+ (cli_interp_procs): Delete.
+ (cli_interp_factory): Adjust to use "new".
+ * cli/cli-interp.h: Include "interps.h".
+ (struct cli_interp_base): New struct.
+ * interps.c (struct interp): Delete. Fields moved to interps.h.
+ (interp_new): Delete.
+ (interp::interp, interp::~interp): New.
+ (interp_set): Use bool, and return void. Assume the interpreter
+ has suspend, init and resume methods, and that the all return
+ void.
+ (set_top_level_interpreter): interp_set returns void.
+ (interp_ui_out): Adapt.
+ (current_interp_set_logging): Adapt.
+ (interp_data): Delete.
+ (interp_pre_command_loop, interp_supports_command_editing): Adapt.
+ (interp_exec): Adapt.
+ (top_level_interpreter_data): Delete.
+ * interps.h (interp_init_ftype, interp_resume_ftype)
+ (interp_suspend_ftype, interp_exec_ftype)
+ (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
+ (class interp): New.
+ (interp_new): Delete.
+ (interp_set): Now returns void. Use bool.
+ (interp_data, top_level_interpreter_data): Delete.
+ * mi/mi-common.h: Include interps.h.
+ (class mi_interp): Inherit from interp. Define a ctor. Declare
+ init, resume, suspect, exec, interp_ui_out, set_logging and
+ pre_command_loop methods.
+ * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
+ (mi_interpreter_init): Rename to ...
+ (mi_interp::init): ... this. Remove the 'interp' parameter, use
+ bool, return void and make extern. Adjust.
+ (mi_interpreter_resume): ... Rename to ...
+ (mi_interp::resume): ... this. Remove the 'data' parameter,
+ return void and make extern. Adjust.
+ (mi_interpreter_suspend): ... Rename to ...
+ (mi_interp::suspend): ... this. Remove the 'data' parameter,
+ return void and make extern. Adjust.
+ (mi_interpreter_exec): ... Rename to ...
+ (mi_interp::exec): ... this. Remove the 'data' parameter and make
+ extern. Adjust.
+ (mi_interpreter_pre_command_loop): ... Rename to ...
+ (mi_interp::pre_command_loop): ... this. Remove the 'self'
+ parameter and make extern.
+ (mi_on_normal_stop_1): Adjust.
+ (mi_ui_out): Rename to ...
+ (mi_interp::interp_ui_out): ... this. Remove the 'interp'
+ parameter and make extern. Adjust.
+ (mi_set_logging): Rename to ...
+ (mi_interp::set_logging): ... this. Remove the 'interp'
+ parameter and make extern. Adjust.
+ (mi_interp_procs): Delete.
+ (mi_interp_factory): Adjust to use 'new'.
+ * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
+ (mi_print_exception, mi_execute_command, mi_load_progress):
+ Adjust.
+ * tui/tui-interp.c (tui_interp): New class.
+ (as_tui_interp): Return a tui_interp pointer.
+ (tui_on_normal_stop, tui_on_signal_received)
+ (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
+ (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
+ to use interp::interp_ui_out.
+ (tui_init): Rename to ...
+ (tui_interp::init): ... this. Remove the 'self' parameter, use
+ bool, return void and make extern. Adjust.
+ (tui_resume): Rename to ...
+ (tui_interp::resume): ... this. Remove the 'data' parameter,
+ return void and make extern. Adjust.
+ (tui_suspend): Rename to ...
+ (tui_interp::suspend): ... this. Remove the 'data' parameter,
+ return void and make extern. Adjust.
+ (tui_ui_out): Rename to ...
+ (tui_interp::interp_ui_out): ... this. Remove the 'self'
+ parameter, and make extern. Adjust.
+ (tui_exec): Rename to ...
+ (tui_interp::exec): ... this. Remove the 'data' parameter and
+ make extern.
+ (tui_interp_procs): Delete.
+ (tui_interp_factory): Use "new".
+
2017-02-02 Tom Tromey <tom@tromey.com>
* rust-exp.y (ends_raw_string, space_then_number)