+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * c-lang.h (c_compute_program): Now returns std::string.
+ * compile/compile-internal.h (class compile_file_names): New
+ class.
+ * compile/compile-object-load.c (compile_object_load): Replace
+ object_file and source_file parameters with a compile_file_names
+ parameter. Adjust.
+ * compile-object-load.h: Include "compile-internal.h".
+ (compile_object_load): Replace object_file and source_file
+ parameters with a compile_file_names parameter.
+ * compile/compile-c-support.c (c_compute_program): Now returns a
+ std::string. Use ui_file_as_string.
+ * compile/compile.c (get_new_file_names): Remove parameters and
+ return a compile_file_names instead.
+ (compile_to_object): Now returns a compile_file_names. Use
+ ui_file_as_string.
+ (eval_compile_command): Use compile_file_names.
+ * language.h (struct language_defn) <la_compute_program>: Now
+ returns std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-setshow.c (do_show_command): Adjust to use
+ ui_file_as_string and std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * remote.c (escape_buffer): Use ui_file_as_string and return
+ std::string.
+ (putpkt_binary, read_frame): Adjust to use std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * python/py-arch.c (archpy_disassemble): Use ui_file_as_string and
+ std::string.
+ * python/py-breakpoint.c (bppy_get_commands): Use
+ ui_file_as_string and std::string.
+ * python/py-frame.c (frapy_str): Likewise.
+ * python/py-type.c (typy_str): Likewise.
+ * python/py-unwind.c (unwind_infopy_str): Likewise.
+ * python/py-value.c (valpy_str): Likewise.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * printcmd.c (eval_command): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * top.c (quit_confirm): Use ui_file_as_string and std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * gdbcmd.h (execute_command_to_string): Now returns std::string.
+ (lookup_struct_elt_type): Adjust to use std::string.
+ * top.c (execute_command_to_string): Use ui_file_as_string and
+ return std::string.
+ * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
+ std::string.
+ * python/python.c (execute_gdb_command): Adjust to use
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
+ ui_file_as_string and adjust to use std::string.
+ * guile/scm-disasm.c (gdbscm_arch_disassemble): Likewise.
+ * guile/scm-frame.c (frscm_print_frame_smob): Likewise.
+ * guile/scm-type.c (tyscm_type_name): Use ui_file_as_string and
+ adjust to use std::string. Throw exception directly instead of
+ returning it in EXCP output parameter.
+ (tyscm_print_type_smob, gdbscm_type_print_name): Adjust to
+ tyscm_type_name interface change.
+ * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
+ Use ui_file_as_string and std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * arm-tdep.c (_initialize_arm_tdep): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * utils.c (error_stream): Use ui_file_as_string and std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * ui-out.c (ui_out_field_stream): Use ui_file_as_string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * ada-valprint.c (ada_print_floating): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * xtensa-tdep.c (xtensa_verify_config): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (dwarf2_compute_name): Use ui_file_as_string and
+ std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * mi/mi-main.c (print_variable_or_computed): Constify 'expression'
+ parameter.
+ (mi_cmd_trace_frame_collected): Call encode_actions instead of
+ encode_actions_and_make_cleanup. Adjust to use std::vector.
+ * tracepoint.c (memrange_cmp): Delete.
+ (memrange_comp): New.
+ (memrange_sortmerge): Take a memrange vector as parameter instead
+ of a collection_list. Use std::sort instead of qsort.
+ (add_register): Now a method of collection_list. Adjust to m_
+ prefix of data fields.
+ (add_memrange): Now a method of collection_list. Adjust to m_
+ prefix of data fields. Adjust to use std::vector.
+ (collect_symbol): Now a method of collection_list. Adjust to m_
+ prefix of data fields.
+ (do_collect_symbol): Adjust. Call add_wholly_collected instead of
+ accessing the vector directly.
+ (collection_list::add_wholly_collected): New.
+ (add_local_symbols): Now a method of collection_list.
+ (add_static_trace_data): Now a method of collection_list. Adjust
+ to use bool.
+ (clear_collection_list, do_clear_collection_list): Delete.
+ (init_collection_list): Delete.
+ (collection_list::collection_list): New.
+ (collection_list::~collection_list): New.
+ (stringify_collection_list): Rename to ...
+ (collection_list::stringify): ... this and adjust to being a
+ method of collection_list. Adjust to use of std::vector.
+ (append_exp): Now a method of collection_list. Use
+ ui_file_as_string. Adjust to std::vector.
+ (collection_list::finish): New.
+ (encode_actions_1): Adjust.
+ (encode_actions_and_make_cleanup): Rename to ...
+ (encode_actions)... this. No longer returns a cleanup. No longer
+ call init_collection_list nor install do_clear_collection_list
+ cleanups. Call collection_list::finish instead of
+ memrange_sortmerge directly.
+ (encode_actions_rsp): Adjust to call encode_actions instead of
+ encode_actions_and_make_cleanup. Adjust to method renames.
+ (add_aexpr): Now a method of collection_list.
+ * tracepoint.h: Include <vector> and <string>.
+ (struct memrange): Add constructors.
+ (struct collection_list): Now a class.
+ (class collection_list) <collection_list, ~collection_list,
+ add_wholly_collected, append_exp, add_aexpr, add_register,
+ add_memrange, collect_symbol, add_local_symbols,
+ add_static_trace_data, finish, stringify, wholly_collected, and
+ computed>: New methods.
+ <regs_mask>: Rename to ...
+ <m_regs_mask>: ... this.
+ <listsize, next_memrange, list>: Delete fields.
+ <m_memranges>: New field.
+ <aexpr_listsize, next_aexpr_elt, aexpr_list>: Delete fields.
+ <m_aexprs>: New field.
+ <strace_data>: Rename to ...
+ <m_strace_data>: ... this. Now a bool.
+ <wholly_collected>: Rename to ...
+ <m_wholly_collected>: ... this. Now a std::vector<std::string>.
+ <computed>: Rename to ...
+ <m_computed>: ... this. Now a std::vector<std::string>.
+ (encode_actions_and_make_cleanup): Delete declaration.
+ (encode_actions): New declaration.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * ui-file.c (do_ui_file_as_string, ui_file_as_string): New
+ functions.
+ * ui-file.h: Include <string>.
+ (ui_file_as_string): New declaration.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_read_renaming_var_value): Use expression_up.
+ (struct ada_catchpoint_location) <excep_cond_expr>: Now an
+ expression_up.
+ (ada_catchpoint_location_dtor): Reset excep_cond_expr instead of
+ using xfree.
+ (create_excep_cond_exprs): Use expression_up and gdb::move.
+ (allocate_location_exception): Use new instead of XNEW.
+ (should_stop_exception): Likewise. Adjust to use expression_up.
+ (create_ada_exception_catchpoint): Use new instead of XNEW.
+ * ax-gdb.c (agent_eval_command_one): Use expression_up instead of
+ cleanups.
+ (maint_agent_printf_command): Use expression_up.
+ * break-catch-sig.c (create_signal_catchpoint): Use new instead of
+ XNEW.
+ * break-catch-syscall.c (create_syscall_event_catchpoint):
+ Likewise.
+ * break-catch-throw.c (handle_gnu_v3_exceptions): Use new instead
+ of XCNEW. Use gdb::unique_ptr instead of cleanups.
+ * breakpoint.c (set_breakpoint_condition, update_watchpoint)
+ (parse_cmd_to_aexpr, watchpoint_check)
+ (bpstat_check_breakpoint_conditions, watchpoint_locations_match):
+ Adjust to use expression_up.
+ (init_bp_location): Adjust.
+ (free_bp_location): Use delete instead of xfree.
+ (set_raw_breakpoint_without_location, set_raw_breakpoint)
+ (add_solib_catchpoint, create_fork_vfork_event_catchpoint)
+ (new_single_step_breakpoint, create_breakpoint_sal): Use new
+ instead of XNEW.
+ (find_condition_and_thread): Adjust to use expression_up.
+ (create_breakpoint): Use new instead of XNEW.
+ (dtor_watchpoint): Don't xfree expression pointers, they're
+ unique_ptr's now.
+ (insert_watchpoint, remove_watchpoint): Adjust.
+ (watch_command_1): Use expression_up. Use new instead of XCNEW.
+ (catch_exec_command_1): Use new instead of XNEW.
+ (bp_location_dtor): Don't xfree expression pointers, they're
+ unique_ptr's now.
+ (base_breakpoint_allocate_location)
+ (strace_marker_create_breakpoints_sal): Use new instead of XNEW.
+ (delete_breakpoint): Use delete instead of xfree.
+ * breakpoint.h (struct bp_location) <cond>: Now an
+ unique_ptr<expression> instead of a raw pointer.
+ (struct watchpoint) <exp, cond_exp>: Likewise.
+ * cli/cli-script.c (execute_control_command): Use expression_up
+ instead of cleanups.
+ * dtrace-probe.c (dtrace_process_dof_probe): Use expression_up.
+ * eval.c (parse_and_eval_address, parse_and_eval_long)
+ (parse_and_eval, parse_to_comma_and_eval, parse_and_eval_type):
+ Use expression_up instead of cleanups.
+ * expression.h (expression_up): New typedef.
+ (parse_expression, parse_expression_with_language, parse_exp_1):
+ Change return type to expression_up.
+ * mi/mi-main.c (mi_cmd_data_evaluate_expression)
+ (print_variable_or_computed): Use expression_up.
+ * objc-lang.c (print_object_command): Use expression_up instead of
+ cleanups.
+ * parse.c (parse_exp_1, parse_exp_in_context)
+ (parse_exp_in_context_1, parse_expression)
+ (parse_expression_with_language): Return an expression_up instead
+ of a raw pointer.
+ (parse_expression_for_completion): Use expression_up.
+ * printcmd.c (struct display) <exp>: Now an expression_up instead
+ of a raw pointer.
+ (print_command_1, output_command_const, set_command, x_command):
+ Use expression_up instead of cleanups.
+ (display_command): Likewise. Use new instead of XNEW.
+ (free_display): Use delete instead of xfree.
+ (do_one_display): Adjust to use expression_up.
+ * remote.c (remote_download_tracepoint): Likewise.
+ * stack.c (return_command): Likewise.
+ * tracepoint.c (validate_actionline, encode_actions_1): Use
+ expression_up instead of cleanups.
+ * typeprint.c (whatis_exp, maintenance_print_type): Likewise.
+ * value.c (init_if_undefined_command): Likewise.
+ * varobj.c (struct varobj_root) <exp>: Now an expression_up
+ instead of a raw pointer.
+ (varobj_create): Adjust.
+ (varobj_set_value): Use an expression_up instead of cleanups.
+ (new_root_variable): Use new instead of XNEW.
+ (free_variable): Use delete instead of xfree.
+ (value_of_root_1): Use std::swap.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-script.c (execute_control_command): Use std::string
+ instead of cleanups.
+ (locate_arg): Constify return type.
+ (insert_args): Constify paremeter. Simplify using std::string.
+ Return a std::string.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (struct commands_info) <arg>: Constify.
+ (commands_command_1): Constify 'arg' parameter. Use std::string
+ and string_printf.
+ (commands_from_control_command): Constify 'arg' parameter.
+ (map_breakpoint_numbers): Constify 'args' parameter.
+ * breakpoint.h (commands_from_control_command): Constify 'arg'
+ parameter.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * cli/cli-script.c (execute_control_command): Assume insert_args
+ never returns NULL.
+ (insert_args): Assume xmalloc never returns NULL.
+
+2016-11-08 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (COMMON_OBS): Add utils-selftests.o.
+ * common/common-utils.c (string_printf): New function.
+ * common/common-utils.h: Include <string>.
+ (string_printf): Declare.
+ * utils-selftests.c: New file.
+
+2016-11-08 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-tdep.c (aarch64_software_single_step): Return
+ VEC (CORE_ADDR) *. Return NULL instead of 0. Don't call
+ insert_single_step_breakpoint.
+ * alpha-tdep.c (alpha_deal_with_atomic_sequence): Likewise.
+ (alpha_software_single_step): Likewise.
+ * alpha-tdep.h (alpha_software_single_step): Update declaration.
+ * arm-linux-tdep.c (arm_linux_software_single_step): Return
+ VEC (CORE_ADDR) *. Return NULL instead of 0.
+ * arm-tdep.c (arm_software_single_step): Return NULL instead of 0.
+ * arm-tdep.h (arm_software_single_step): Update declaration.
+ * breakpoint.c (insert_single_step_breakpoints): New function.
+ * breakpoint.h (insert_single_step_breakpoints): Declare.
+ * cris-tdep.c (cris_software_single_step): Return
+ VEC (CORE_ADDR) *. Don't call insert_single_step_breakpoint.
+ * gdbarch.sh (software_single_step): Change it to return
+ VEC (CORE_ADDR) *.
+ * gdbarch.c, gdbarch.h: Regenerated.
+ * infrun.c (maybe_software_singlestep): Adjust.
+ * mips-tdep.c (mips_deal_with_atomic_sequence): Return
+ VEC (CORE_ADDR) *. Don't call insert_single_step_breakpoint.
+ (micromips_deal_with_atomic_sequence): Likewise.
+ (deal_with_atomic_sequence): Likewise.
+ (mips_software_single_step): Likewise.
+ * mips-tdep.h (mips_software_single_step): Update declaration.
+ * moxie-tdep.c (moxie_software_single_step): Likewise.
+ * nios2-tdep.c (nios2_software_single_step): Likewise.
+ * ppc-tdep.h (ppc_deal_with_atomic_sequence): Update
+ declaration.
+ * record-full.c (record_full_resume): Adjust.
+ (record_full_wait_1): Likewise.
+ * rs6000-aix-tdep.c (rs6000_software_single_step): Return
+ VEC (CORE_ADDR) *. Don't call insert_single_step_breakpoint.
+ * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Return
+ VEC (CORE_ADDR) *. Don't call insert_single_step_breakpoint.
+ * s390-linux-tdep.c (s390_software_single_step): Likewise.
+ * sparc-tdep.c (sparc_software_single_step): Likewise.
+ * spu-tdep.c (spu_software_single_step): Likewise.
+ * tic6x-tdep.c (tic6x_software_single_step): Likewise.
+
+2016-11-08 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-tdep.c (arm_linux_software_single_step): Write
+ adjusted address back to vector. Call insert_single_step_breakpoint
+ in a new loop.
+ * arm-tdep.c (arm_software_single_step): Likewise.
+
2016-11-08 Yao Qi <yao.qi@linaro.org>
* arm-linux-tdep.c (arm_linux_software_single_step): Don't