+2017-11-23 Simon Marchi <simon.marchi@ericsson.com>
+
+ * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
+ back to...
+ <children_requested>: ... this.
+ (varobj_get_num_children, varobj_update): Adjust.
+
+2017-11-23 Simon Marchi <simon.marchi@ericsson.com>
+
+ * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
+ (ada_value_has_mutated): Likewise.
+ * c-varobj.c (varobj_is_anonymous_child): Likewise.
+ (c_is_path_expr_parent): Likewise.
+ * mi/mi-cmd-var.c (varobj_update_one): Likewise.
+ (mi_cmd_var_set_frozen): Likewise.
+ (mi_cmd_var_update_iter): Likewise.
+ (mi_cmd_var_update): Likewise.
+ * varobj.c (pretty_printing): Likewise.
+ (varobj_enable_pretty_printing): Likewise.
+ (struct varobj_root) <floating, is_valid>: Likewise.
+ (struct varobj_dynamic) <children_requested>: Likewise.
+ (delete_variable): Likewise.
+ (delete_variable_1): Likewise.
+ (install_variable): Likewise.
+ (update_type_if_necessary): Likewise.
+ (install_new_value): Likewise.
+ (value_of_root): Likewise.
+ (is_root_p): Likewise.
+ (varobj_create): Likewise.
+ (varobj_delete): Likewise.
+ (varobj_has_more): Likewise.
+ (varobj_set_frozen): Likewise.
+ (varobj_get_frozen): Likewise.
+ (install_dynamic_child): Likewise.
+ (dynamic_varobj_has_child_method): Likewise.
+ (update_dynamic_varobj_children): Likewise.
+ (varobj_get_num_children): Likewise.
+ (varobj_list_children): Likewise.
+ (is_path_expr_parent): Likewise.
+ (varobj_default_is_path_expr_parent): Likewise.
+ (varobj_is_dynamic_p): Likewise.
+ (varobj_set_value): Likewise.
+ (varobj_value_has_mutated): Likewise.
+ (varobj_update): Likewise.
+ (check_scope): Likewise.
+ (value_of_root_1): Likewise.
+ (varobj_value_get_print_value): Likewise.
+ (varobj_editable_p): Likewise.
+ (varobj_value_is_changeable_p): Likewise.
+ (varobj_floating_p): Likewise.
+ (varobj_default_value_is_changeable_p): Likewise.
+ (varobj_invalidate_iter): Likewise.
+ * varobj.h (struct varobj_update_result) <type_changed,
+ children_changed, changed, value_installed>: Likewise.
+ (struct varobj) <updated, frozen, not_fetched>: Likewise.
+ (struct lang_varobj_ops) <value_is_changeable_p,
+ value_has_mutated, is_path_expr_parent>: Likewise.
+ (varobj_delete): Likewise.
+ (varobj_set_frozen): Likewise.
+ (varobj_get_frozen): Likewise.
+ (varobj_set_value): Likewise.
+ (varobj_update): Likewise.
+ (varobj_editable_p): Likewise.
+ (varobj_floating_p): Likewise.
+ (varobj_has_more): Likewise.
+ (varobj_is_dynamic_p): Likewise.
+ (varobj_default_value_is_changeable_p): Likewise.
+ (varobj_value_is_changeable_p): Likewise.
+ (varobj_is_anonymous_child): Likewise.
+ (varobj_default_is_path_expr_parent): Likewise.
+
+2017-11-22 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
+ (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
+ <type_str>: Convert to 'std::string'.
+ <expr>: Convert to 'expression_up'.
+ (dtrace_probe_arg_s): Delete type and VEC.
+ (dtrace_probe_enabler_s): Likewise.
+ (struct dtrace_probe): Replace by...
+ (class dtrace_static_probe_ops): ...this and...
+ (class dtrace_probe): ...this.
+ (dtrace_probe_is_linespec): Rename to...
+ (dtrace_static_probe_ops::is_linespec): ...this. Adjust code
+ to reflect change.
+ (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
+ Adjust code. Create new instance of 'dtrace_probe'.
+ (dtrace_build_arg_exprs): Rename to...
+ (dtrace_probe::build_arg_exprs): ...this. Adjust code to
+ reflect change.
+ (dtrace_get_probes): Rename to...
+ (dtrace_static_probe_ops::get_probes): ...this. Adjust code
+ to reflect change.
+ (dtrace_get_arg): Rename to...
+ (dtrace_probe::get_arg_by_number): ...this. Adjust code to
+ reflect change.
+ (dtrace_probe_is_enabled): Rename to...
+ (dtrace_probe::is_enabled): ...this. Adjust code to reflect
+ change.
+ (dtrace_get_probe_address): Rename to...
+ (dtrace_probe::get_relocated_address): ...this. Adjust code
+ to reflect change.
+ (dtrace_get_probe_argument_count): Rename to...
+ (dtrace_probe::get_argument_count): ...this. Adjust code to
+ reflect change.
+ (dtrace_can_evaluate_probe_arguments): Rename to...
+ (dtrace_probe::can_evaluate_arguments): ...this. Adjust code
+ to reflect change.
+ (dtrace_evaluate_probe_argument): Rename to...
+ (dtrace_probe::evaluate_argument): ...this. Adjust code to
+ reflect change.
+ (dtrace_compile_to_ax): Rename to...
+ (dtrace_probe::compile_to_ax): ...this. Adjust code to
+ reflect change.
+ (dtrace_probe_destroy): Delete.
+ (dtrace_type_name): Rename to...
+ (dtrace_static_probe_ops::type_name): ...this. Adjust code to
+ reflect change.
+ (dtrace_probe::get_static_ops): New method.
+ (dtrace_gen_info_probes_table_header): Rename to...
+ (dtrace_static_probe_ops::gen_info_probes_table_header):
+ ...this. Adjust code to reflect change.
+ (dtrace_gen_info_probes_table_values): Rename to...
+ (dtrace_probe::gen_info_probes_table_values): ...this. Adjust
+ code to reflect change.
+ (dtrace_enable_probe): Rename to...
+ (dtrace_probe::enable_probe): ...this. Adjust code to reflect
+ change.
+ (dtrace_disable_probe): Rename to...
+ (dtrace_probe::disable_probe): ...this. Adjust code to reflect
+ change.
+ (struct probe_ops dtrace_probe_ops): Delete.
+ (info_probes_dtrace_command): Call 'info_probes_for_spops'
+ instead of 'info_probes_for_ops'.
+ (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
+ of 'all_probe_ops'.
+
+2017-11-22 Sergio Durigan Junior <sergiodj@redhat.com>
+ Simon Marchi <simark@simark.ca>
+
+ * stap-probe.c (struct probe_ops stap_probe_ops): Delete
+ variable.
+ (struct stap_probe_arg) <stap_probe_arg>: New constructor.
+ <aexpr>: Change type to 'expression_up'.
+ (stap_probe_arg_s): Delete type and VEC.
+ (struct stap_probe): Delete. Replace by...
+ (class stap_static_probe_ops): ...this and...
+ (class stap_probe): ...this. Rename variables to add 'm_'
+ prefix. Do not use 'union' for arguments anymore.
+ (stap_get_expected_argument_type): Receive probe name instead
+ of 'struct stap_probe'. Adjust code.
+ (stap_parse_probe_arguments): Rename to...
+ (stap_probe::parse_arguments): ...this. Adjust code to
+ reflect change.
+ (stap_get_probe_address): Rename to...
+ (stap_probe::get_relocated_address): ...this. Adjust code
+ to reflect change.
+ (stap_get_probe_argument_count): Rename to...
+ (stap_probe::get_argument_count): ...this. Adjust code
+ to reflect change.
+ (stap_get_arg): Rename to...
+ (stap_probe::get_arg_by_number'): ...this. Adjust code to
+ reflect change.
+ (can_evaluate_probe_arguments): Rename to...
+ (stap_probe::can_evaluate_arguments): ...this. Adjust code
+ to reflect change.
+ (stap_evaluate_probe_argument): Rename to...
+ (stap_probe::evaluate_argument): ...this. Adjust code
+ to reflect change.
+ (stap_compile_to_ax): Rename to...
+ (stap_probe::compile_to_ax): ...this. Adjust code to
+ reflect change.
+ (stap_probe_destroy): Delete.
+ (stap_modify_semaphore): Adjust comment.
+ (stap_set_semaphore): Rename to...
+ (stap_probe::set_semaphore): ...this. Adjust code to reflect
+ change.
+ (stap_clear_semaphore): Rename to...
+ (stap_probe::clear_semaphore): ...this. Adjust code to
+ reflect change.
+ (stap_probe::get_static_ops): New method.
+ (handle_stap_probe): Adjust code to create instance of
+ 'stap_probe'.
+ (stap_get_probes): Rename to...
+ (stap_static_probe_ops::get_probes): ...this. Adjust code to
+ reflect change.
+ (stap_probe_is_linespec): Rename to...
+ (stap_static_probe_ops::is_linespec): ...this. Adjust code to
+ reflect change.
+ (stap_type_name): Rename to...
+ (stap_static_probe_ops::type_name): ...this. Adjust code to
+ reflect change.
+ (stap_gen_info_probes_table_header): Rename to...
+ (stap_static_probe_ops::gen_info_probes_table_header):
+ ...this. Adjust code to reflect change.
+ (stap_gen_info_probes_table_values): Rename to...
+ (stap_probe::gen_info_probes_table_values): ...this. Adjust
+ code to reflect change.
+ (struct probe_ops stap_probe_ops): Delete.
+ (info_probes_stap_command): Use 'info_probes_for_spops'
+ instead of 'info_probes_for_ops'.
+ (_initialize_stap_probe): Use 'all_static_probe_ops' instead
+ of 'all_probe_ops'.
+
+2017-11-22 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * break-catch-throw.c (fetch_probe_arguments): Use
+ 'probe.prob' instead of 'probe.probe'.
+ * breakpoint.c (create_longjmp_master_breakpoint): Call
+ 'can_evaluate_arguments' and 'get_relocated_address' methods
+ from probe.
+ (create_exception_master_breakpoint): Likewise.
+ (add_location_to_breakpoint): Use 'sal->prob' instead of
+ 'sal->probe'.
+ (bkpt_probe_insert_location): Call 'set_semaphore' method from
+ probe.
+ (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
+ * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
+ of 'probe_ops'.
+ (probe_key_free): Call 'delete' on probe.
+ (check_exception_resume): Use 'probe.prob' instead of
+ 'probe.probe'.
+ * location.c (string_to_event_location_basic): Call
+ 'probe_linespec_to_static_ops'.
+ * probe.c (class any_static_probe_ops): New class.
+ (any_static_probe_ops any_static_probe_ops): New variable.
+ (parse_probes_in_pspace): Receive 'static_probe_ops' as
+ argument. Adjust code to reflect change.
+ (parse_probes): Use 'static_probe_ops' instead of
+ 'probe_ops'. Adjust code to reflect change.
+ (find_probes_in_objfile): Call methods to get name and
+ provider from probe.
+ (find_probe_by_pc): Use 'result.prob' instead of
+ 'result.probe'. Call 'get_relocated_address' method from
+ probe.
+ (collect_probes): Adjust comment and argument list to receive
+ 'static_probe_ops' instead of 'probe_ops'. Adjust code to
+ reflect change. Call necessary methods from probe.
+ (compare_probes): Call methods to get name and provider from
+ probes.
+ (gen_ui_out_table_header_info): Receive 'static_probe_ops'
+ instead of 'probe_ops'. Use 'std::vector' instead of VEC,
+ adjust code accordingly.
+ (print_ui_out_not_applicables): Likewise.
+ (info_probes_for_ops): Rename to...
+ (info_probes_for_spops): ...this. Receive 'static_probe_ops'
+ as argument instead of 'probe_ops'. Adjust code. Call
+ necessary methods from probe.
+ (info_probes_command): Use 'info_probes_for_spops'.
+ (enable_probes_command): Pass correct argument to
+ 'collect_probes'. Call methods from probe.
+ (disable_probes_command): Likewise.
+ (get_probe_address): Move to 'any_static_probe_ops::get_address'.
+ (get_probe_argument_count): Move to
+ 'any_static_probe_ops::get_argument_count'.
+ (can_evaluate_probe_arguments): Move to
+ 'any_static_probe_ops::can_evaluate_arguments'.
+ (evaluate_probe_argument): Move to
+ 'any_static_probe_ops::evaluate_argument'.
+ (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
+ 'probe.probe'.
+ (probe_linespec_to_ops): Rename to...
+ (probe_linespec_to_static_ops): ...this. Adjust code.
+ (probe_any_is_linespec): Rename to...
+ (any_static_probe_ops::is_linespec): ...this.
+ (probe_any_get_probes): Rename to...
+ (any_static_probe_ops::get_probes): ...this.
+ (any_static_probe_ops::type_name): New method.
+ (any_static_probe_ops::gen_info_probes_table_header): New
+ method.
+ (compute_probe_arg): Use 'pc_probe.prob' instead of
+ 'pc_probe.probe'. Call methods from probe.
+ (compile_probe_arg): Likewise.
+ (std::vector<const probe_ops *> all_probe_ops): Delete.
+ (std::vector<const static_probe_ops *> all_static_probe_ops):
+ New variable.
+ (_initialize_probe): Use 'all_static_probe_ops' instead of
+ 'all_probe_ops'.
+ * probe.h (struct info_probe_column) <field_name>: Delete
+ extraneous newline
+ (info_probe_column_s): Delete type and VEC.
+ (struct probe_ops): Delete. Replace with...
+ (class static_probe_ops): ...this and...
+ (clas probe): ...this.
+ (struct bound_probe) <bound_probe>: Delete extraneous
+ newline. Adjust constructor to receive 'probe' instead of
+ 'struct probe'.
+ <probe>: Rename to...
+ <prob>: ...this. Delete extraneous newline.
+ <objfile>: Delete extraneous newline.
+ (register_probe_ops): Delete unused prototype.
+ (info_probes_for_ops): Rename to...
+ (info_probes_for_spops): ...this. Adjust comment.
+ (get_probe_address): Move to 'probe::get_address'.
+ (get_probe_argument_count): Move to
+ 'probe::get_argument_count'.
+ (can_evaluate_probe_arguments): Move to
+ 'probe::can_evaluate_arguments'.
+ (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
+ * solib-svr4.c (struct svr4_info): Adjust comment.
+ (struct probe_and_action) <probe>: Rename to...
+ <prob>: ...this.
+ (register_solib_event_probe): Receive 'probe' instead of
+ 'struct probe' as argument. Use 'prob' instead of 'probe'
+ when applicable.
+ (solib_event_probe_action): Call 'get_argument_count' method
+ from probe. Adjust comment.
+ (svr4_handle_solib_event): Adjust comment. Call
+ 'evaluate_argument' method from probe.
+ (svr4_create_probe_breakpoints): Call 'get_relocated_address'
+ from probe.
+ (svr4_create_solib_event_breakpoints): Use 'probe' instead of
+ 'struct probe'. Call 'can_evaluate_arguments' from probe.
+ * symfile.h: Forward declare 'class probe' instead of 'struct
+ probe'.
+ * symtab.h: Likewise.
+ (struct symtab_and_line) <probe>: Rename to...
+ <prob>: ...this.
+ * tracepoint.c (start_tracing): Use 'prob' when applicable.
+ Call probe methods.
+ (stop_tracing): Likewise.
+
+2017-11-22 Joel Brobecker <brobecker@adacore.com>
+
+ * ravenscar-thread.c (ravenscar_inferior_created): Remove
+ trailing newline at end of string in call to warning.
+
+2017-11-22 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * osdata.h: Include vector isntead of vec.h.
+ (osdata_column_s): Remove typedef.
+ (struct osdata_column): Add constructor.
+ <name, value>: Change type to std::string.
+ (DEF_VEC_O (osdata_column_s)): Remove.
+ (osdata_item_s): Remove typedef.
+ (struct osdata_item) <columns>: Change type to std::vector.
+ (DEF_VEC_O (osdata_item_s)): Remove.
+ (struct osdata): Add constructor.
+ <type>: Change type to std::string.
+ <items>: Change type to std::vector.
+ (osdata_p): Remove typedef.
+ (DEF_VEC_P (osdata_p)): Remove.
+ (osdata_parse): Return a unique_ptr.
+ (osdata_free): Remove.
+ (make_cleanup_osdata_free): Remove.
+ (get_osdata): Return a unique_ptr.
+ (get_osdata_column): Return pointer to std::string, take a
+ reference to osdata_item as parameter.
+ * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
+ unique_ptr.
+ <property_name>: Change type to std::string.
+ (osdata_start_osdata): Allocate osdata with new and adjust.
+ (osdata_start_item): Adjust.
+ (osdata_start_column): Adjust.
+ (osdata_end_column): Adjust.
+ (clear_parsing_data): Remove.
+ (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
+ (osdata_item_clear): Remove.
+ (get_osdata): return a unique_ptr and adjust.
+ (get_osdata_column): Return a pointer to std::string and adjust.
+ (info_osdata): Adjust.
+ * mi/mi-main.c: Include <map>.
+ (free_vector_of_osdata_items): Remove.
+ (list_available_thread_groups): Adjust, use std::map instead of
+ splay tree.
+
+2017-11-22 Simon Marchi <simon.marchi@ericsson.com>
+
+ * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
+ case in switch.
+
+2017-11-22 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * varobj.h (DEF_VEC_P (varobj_p)): Remove.
+
+2017-11-22 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * varobj.h (struct varobj_update_result): Add constructor, add
+ move constructor, disable copy and assign, initialize fields.
+ <newobj>: Change type to std::vector.
+ (varobj_update): Return std::vector.
+ * varobj.c (install_dynamic_child): Change VEC parameters to
+ std::vector and adjust.
+ (update_dynamic_varobj_children): Likewise.
+ (varobj_update): Return std::vector and adjust.
+ * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
+
+2017-11-22 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * varobj.h (struct varobj) <parent>: Remove const.
+ <children>: Change type to std::vector.
+ (varobj_list_children): Return std::vector const reference.
+ (varobj_restrict_range): Change parameter type to std::vector
+ const reference.
+ * varobj.c (varobj_has_more): Adjust.
+ (varobj_restrict_range): Change parameter type to std::vector
+ const reference and adjust.
+ (install_dynamic_child): Adjust.
+ (update_dynamic_varobj_children): Adjust.
+ (varobj_list_children): Return std::vector const reference and
+ adjust.
+ (varobj_add_child): Adjust.
+ (update_type_if_necessary): Adjust.
+ (varobj_update): Adjust.
+ (delete_variable_1): Adjust.
+ * ada-varobj.c (ada_value_has_mutated): Adjust.
+ * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
+
+2017-11-22 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * varobj.h (struct varobj): Add constructor and destructor,
+ initialize fields.
+ * varobj.c (struct varobj_root): Initialize fields.
+ (struct varobj_dynamic): Initialize fields.
+ (varobj_create): Use unique_ptr instead of cleanup. Create
+ varobj with new instead of new_root_variable.
+ (delete_variable_1): Free variable with delete instead of
+ free_variable.
+ (create_child_with_value): Create variable with new instead of
+ new_variable.
+ (varobj::varobj): New.
+ (varobj::~varobj): New (body mostly coming from free_variable).
+ (new_variable): Remove.
+ (free_variable): Remove.
+ (do_free_variable_cleanup): Remove.
+ (make_cleanup_free_variable): Remove.
+
+2017-11-22 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * core-regset.c: Remove file.
+ * Makefile.in (ALLDEPFILES): Remove core-regset.c.
+
+2017-11-22 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * NEWS: Document use of GNU MPFR.
+ * README: Likewise.
+
+ * Makefile.in (LIBMPFR): Add define.
+ (CLIBS): Add $(LIBMPFR).
+ * configure.ac: Add --with-mpfr configure option.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+ * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
+ (class mpfr_float_ops): New type.
+ (mpfr_float_ops::from_target): Two new overloaded functions.
+ (mpfr_float_ops::to_target): Likewise.
+ (mpfr_float_ops::to_string): New function.
+ (mpfr_float_ops::from_string): Likewise.
+ (mpfr_float_ops::to_longest): Likewise.
+ (mpfr_float_ops::from_longest): Likewise.
+ (mpfr_float_ops::from_ulongest): Likewise.
+ (mpfr_float_ops::to_host_double): Likewise.
+ (mpfr_float_ops::from_host_double): Likewise.
+ (mpfr_float_ops::convert): Likewise.
+ (mpfr_float_ops::binop): Likewise.
+ (mpfr_float_ops::compare): Likewise.
+ (get_target_float_ops): Use mpfr_float_ops if available.
+
+2017-11-22 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * target-float.c: Do not include <math.h>.
+ Include <cmath> and <limits>.
+ (DOUBLEST): Do not define.
+ (class target_float_ops): New type.
+ (class host_float_ops): New templated type.
+ (class decimal_float_ops): New type.
+
+ (floatformat_to_doublest): Rename to ...
+ (host_float_ops<T>::from_target): ... this. Use template type T
+ instead of DOUBLEST. Use C++ math routines. Update recursive calls.
+ (host_float_ops<T>::from_target): New overload using a type argument.
+ (floatformat_from_doublest): Rename to ...
+ (host_float_ops<T>::to_target): ... this. Use template type T
+ instead of DOUBLEST. Use C++ math routines. Update recursive calls.
+ (host_float_ops<T>::to_target): New overload using a type argument.
+ (floatformat_printf_format): New function.
+ (struct printf_length_modifier): New templated type.
+ (floatformat_to_string): Rename to ...
+ (host_float_ops<T>::to_string): ... this. Use type instead of
+ floatformat argument. Use floatformat_printf_format and
+ printf_length_modifier. Remove special handling of invalid numbers,
+ infinities and NaN (moved to target_float_to_string).
+ (struct scanf_length_modifier): New templated type.
+ (floatformat_from_string): Rename to ...
+ (host_float_ops<T>::from_string): ... this. Use type instead of
+ floatformat argument. Use scanf_length_modifier.
+ (floatformat_to_longest): Rename to ...
+ (host_float_ops<T>::to_longest): ... this. Use type instead of
+ floatformat argument. Handle out-of-range values deterministically.
+ (floatformat_from_longest): Rename to ...
+ (host_float_ops<T>::from_longest): ... this. Use type instead of
+ floatformat argument.
+ (floatformat_from_ulongest): Rename to ...
+ (host_float_ops<T>::from_ulongest): ... this. Use type instead of
+ floatformat argument.
+ (floatformat_to_host_double): Rename to ...
+ (host_float_ops<T>::to_host_double): ... this. Use type instead of
+ floatformat argument.
+ (floatformat_from_host_double): Rename to ...
+ (host_float_ops<T>::from_host_double): ... this. Use type instead of
+ floatformat argument.
+ (floatformat_convert): Rename to ...
+ (host_float_ops<T>::convert): ... this. Use type instead of
+ floatformat arguments. Remove handling of no-op conversions.
+ (floatformat_binop): Rename to ...
+ (host_float_ops<T>::binop): ... this. Use type instead of
+ floatformat arguments.
+ (floatformat_compare): Rename to ...
+ (host_float_ops<T>::compare): ... this. Use type instead of
+ floatformat arguments.
+
+ (match_endianness): Use type instead of length/byte_order arguments.
+ (set_decnumber_context): Likewise.
+ (decimal_from_number): Likewise. Update calls.
+ (decimal_to_number): Likewise.
+ (decimal_is_zero): Likewise. Update calls. Move to earlier in file.
+ (decimal_float_ops::to_host_double): New dummy function.
+ (decimal_float_ops::from_host_double): Likewise.
+ (decimal_to_string): Rename to ...
+ (decimal_float_ops::to_string): ... this. Use type instead of
+ length/byte_order arguments. Update calls.
+ (decimal_from_string): Rename to ...
+ (decimal_float_ops::from_string): ... this. Use type instead of
+ length/byte_order arguments. Update calls.
+ (decimal_from_longest): Rename to ...
+ (decimal_float_ops::from_longest): ... this. Use type instead of
+ length/byte_order arguments. Update calls.
+ (decimal_from_ulongest): Rename to ...
+ (decimal_float_ops::from_ulongest): ... this. Use type instead of
+ length/byte_order arguments. Update calls.
+ (decimal_to_longest): Rename to ...
+ (decimal_float_ops::to_longest): ... this. Use type instead of
+ length/byte_order arguments. Update calls.
+ (decimal_binop): Rename to ...
+ (decimal_float_ops::binop): ... this. Use type instead of
+ length/byte_order arguments. Update calls.
+ (decimal_compare): Rename to ...
+ (decimal_float_ops::compare): ... this. Use type instead of
+ length/byte_order arguments. Update calls.
+ (decimal_convert): Rename to ...
+ (decimal_float_ops::convert): ... this. Use type instead of
+ length/byte_order arguments. Update calls.
+
+ (target_float_same_category_p): New function.
+ (target_float_same_format_p): Likewise.
+ (target_float_format_length): Likewise.
+ (enum target_float_ops_kind): New type.
+ (get_target_float_ops_kind): New function.
+ (get_target_float_ops): Three new overloaded functions.
+
+ (target_float_is_zero): Update call.
+ (target_float_to_string): Add special handling of invalid numbers,
+ infinities and NaN (moved from floatformat_to_string). Use
+ target_float_ops callback.
+ (target_float_from_string): Use target_float_ops callback.
+ (target_float_to_longest): Likewise.
+ (target_float_from_longest): Likewise.
+ (target_float_from_ulongest): Likewise.
+ (target_float_to_host_double): Likewise.
+ (target_float_from_host_double): Likewise.
+ (target_float_convert): Add special case for no-op conversions.
+ Use target_float_ops callback.
+ (target_float_binop): Use target_float_ops callback.
+ (target_float_compare): Likewise.
+
+2017-11-22 Yao Qi <yao.qi@linaro.org>
+
+ * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
+
+2017-11-22 Yao Qi <yao.qi@linaro.org>
+
+ * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
+ * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
+
+2017-11-21 Jerome Guitton <guitton@adacore.com>
+
+ * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
+ with event ptid from the lower layer before doing the
+ ravenscar-specific update.
+
+2017-11-21 Joel Brobecker <brobecker@adacore.com>
+
+ * ravenscar-thread.c (is_ravenscar_task): Also verify that
+ the ptid's TID is nonzero.
+
+2017-11-21 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.h (ada_get_tcb_types_info): Add declaration.
+ * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
+ Make non-static. Change return type to char *. Adjust code
+ accordingly. Rewrite the function's documentation.
+ (read_atcb): Adjust call to get_tcb_types_info accordingly.
+ * ravenscar-thread.c (ravenscar_inferior_created): Check that
+ we have enough debugging information in the runtime to support
+ Ada task debugging before we enable the ravenscar-thread layer.
+
+2017-11-21 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
+ * ada-tasks.c (ada_get_task_info_from_ptid): New function.
+ * ravenscar-thread.c: Add into comment.
+ (base_magic_null_ptid): Delete.
+ (base_ptid): Change documentation.
+ (ravenscar_active_task): Renames ravenscar_running_thread.
+ All callers updated throughout.
+ (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
+ (ravenscar_task_is_currently_active): Likewise.
+ (get_base_thread_from_ravenscar_task): Ditto.
+ (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
+ (ravenscar_runtime_initialized): Likewise.
+ (get_running_thread_id): Add new parameter "cpu". Adjust
+ implementation to handle this new parameter.
+ (ravenscar_fetch_registers): Small adjustment to use
+ is_ravenscar_task and ravenscar_task_is_currently_active in
+ order to decide whether to use the target beneath or this
+ module's arch_ops.
+ (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
+ (ravenscar_stopped_by_sw_breakpoint): Use
+ get_base_thread_from_ravenscar_task to get the underlying
+ thread, rather than using base_ptid.
+ (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
+ (ravenscar_stopped_data_address, ravenscar_core_of_thread):
+ Likewise.
+ (ravenscar_inferior_created): Do not set base_magic_null_ptid.
+
+2017-11-21 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
+ * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
+ (get_tcb_types_info): Set fieldnos.base_cpu.
+ (read_atcb): Set task_info->base_cpu.
+ (info_task): Print "Base CPU" info if set by runtime.
+
+2017-11-21 Joel Brobecker <brobecker@adacore.com>
+
+ * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
+ (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
+ (ravenscar_stopped_data_address, ravenscar_core_of_thread):
+ New functions.
+ (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
+ to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
+ to_stopped_data_address and to_core_of_thread fields of
+ ravenscar_ops.
+
+2017-11-21 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
+ (struct gdbarch_tdep): New member long_double_abi.
+ * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
+ member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
+ format depending on long_double_abi tdep member.
+ (ppc_floatformat_for_type): Handle __ibm128 type.
+
+2017-11-20 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
+
+2017-11-21 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (mapped_index::find_name_components_bounds)
+ <completion mode, upper bound>: Use std::lower_bound instead of
+ std::upper_bound.
+ (test_mapped_index_find_name_component_bounds): Remove incorrect
+ "t1_fund" from expected symbols.
+
+2017-11-21 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (mapped_index::name_components_casing): New field.
+ (mapped_index) <build_name_components,
+ find_name_components_bounds): Declare new methods.
+ (mapped_index::find_name_components_bounds)
+ (mapped_index::build_name_components): New methods, factored out
+ from dw2_expand_symtabs_matching_symbol.
+ (check_find_bounds_finds)
+ (test_mapped_index_find_name_component_bounds): New.
+ (run_test): Rename to ...
+ (test_dw2_expand_symtabs_matching_symbol): ... this.
+ (run_test): Reimplement.
+
+2017-11-21 Pedro Alves <palves@redhat.com>
+
+ * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
+ (symbol_end): Use cp_ident_is_alnum.
+ (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
+ * dwarf2read.c (make_sort_after_prefix_name): New function.
+ (dw2_expand_symtabs_matching_symbol): Use it.
+ (test_symbols): Add more symbols.
+ (run_test): Add tests.
+
+2017-11-17 Tom Tromey <tom@tromey.com>
+
+ * symtab.h (enum symbol_subclass_kind): New.
+ (struct symbol) <is_cplus_template_function, is_rust_vtable>:
+ Remove.
+ <subclass>: New member.
+ (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
+ * rust-lang.c (rust_get_trait_object_pointer): Update.
+ * dwarf2read.c (read_func_scope): Update.
+ (read_variable): Update.
+
+2017-11-17 Tom Tromey <tom@tromey.com>
+
+ * dwarf2read.c (read_func_scope): Update.
+ * symtab.h (struct template_symbol): Derive from symbol.
+ <base>: Remove.
+
+2017-11-17 Tom Tromey <tom@tromey.com>
+
+ * symtab.h (struct symbol) <is_rust_vtable>: New member.
+ (struct rust_vtable_symbol): New.
+ (find_symbol_at_address): Declare.
+ * symtab.c (find_symbol_at_address): New function.
+ * symfile.h (struct quick_symbol_functions)
+ <find_compunit_symtab_by_address>: New member.
+ * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
+ function.
+ (debug_sym_quick_functions): Link to
+ debug_qf_find_compunit_symtab_by_address.
+ * rust-lang.c (rust_get_trait_object_pointer): New function.
+ (rust_evaluate_subexp) <case UNOP_IND>: New case. Call
+ rust_get_trait_object_pointer.
+ * psymtab.c (psym_relocate): Clear psymbol_map.
+ (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
+ functions.
+ (psym_functions): Link to psym_find_compunit_symtab_by_address.
+ * objfiles.h (struct objfile) <psymbol_map>: New member.
+ * dwarf2read.c (dwarf2_gdb_index_functions): Update.
+ (process_die) <DW_TAG_variable>: New case. Call read_variable.
+ (rust_containing_type, read_variable): New functions.
+
+2017-11-17 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
+
+2017-11-17 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * common/filestuff.c: Include <algorithm>.
+ (open_fds): Change type to std::vector<int>.
+ (do_mark_open_fd): Adjust.
+ (unmark_fd_no_cloexec): Adjust.
+ (do_close): Adjust.
+
+2017-11-17 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * breakpoint.c (output_thread_groups): Take an std::vector.
+ (print_one_breakpoint_location): Adjust.
+
+2017-11-17 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
+ (ada_evaluate_subexp_for_cast): New function.
+ (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
+ ada_evaluate_subexp_for_cast.
+ (ada_evaluate_subexp) <nosideret>: Replace code by call to
+ eval_skip_value.
+ * eval.c (evaluate_var_value): Make non-static.
+ (evaluate_var_msym_value, eval_skip_value): Likewise.
+ * value.h (evaluate_var_value, evaluate_var_msym_value)
+ (eval_skip_value): Declare.
+
+2017-11-16 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (ada_value_cast): Remove parameter "noside".
+ Update all callers.
+
+2017-11-16 Pedro Alves <palves@redhat.com>
+
+ * python/py-unwind.c (pyuw_sniffer): Translate
+ PyExc_KeyboardInterrupt to a GDB Quit exception.
+
+2017-11-16 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (resume_cleanups): Delete.
+ (resume): No longer install a resume_cleanups cleanup nor call
+ QUIT.
+ (proceed): Pass the terminal to the inferior.
+ (keep_going_pass_signal): No longer install a resume_cleanups
+ cleanup.
+
+2017-11-16 Pedro Alves <palves@redhat.com>
+
+ * inf-loop.c (inferior_event_handler): Don't swallow the exception
+ if the prompt is blocked.
+
+2017-11-16 Pedro Alves <palves@redhat.com>
+
+ * breakpoint.c (insert_bp_location): Replace bp_err and
+ bp_err_message locals by a gdb_exception local.
+
+2017-11-16 Pedro Alves <palves@redhat.com>
+
+ * inflow.c (scoped_ignore_sigttou): New class.
+ (child_terminal_ours_1, new_tty): Use it.
+
+2017-11-16 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * target-float.c (decimal_from_number): Add byte_order argument and
+ call match_endianness. Error if unknown floating-point type.
+ (decimal_to_number): Add byte_order argument and call match_endianness.
+ (decimal_from_longest): Update call. Do not call match_endianness.
+ (decimal_from_ulongest): Likewise.
+ (decimal_binop): Likewise.
+ (decimal_is_zero): Likewise.
+ (decimal_compare): Likewise.
+ (decimal_convert): Likewise.
+
+2017-11-16 Phil Muldoon <pmuldoon@redhat.com>
+
+ * python/python.c (gdbpy_rbreak): New function.
+ * NEWS: Document Python rbreak feature.
+
+2017-11-16 Yao Qi <yao.qi@linaro.org>
+
+ * features/tic6x-c62x.xml: Remove.
+ * features/tic6x-c64x.xml: Remove.
+ * features/tic6x-c64xp.xml: Remove.
+
+2017-11-15 John Baldwin <jhb@FreeBSD.org>
+
+ * symtab.h: Include <array>.
+
+2017-11-15 John Baldwin <jhb@FreeBSD.org>
+
+ * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
+ (bsd_kvm_proc_cmd): Likewise.
+
+2017-11-15 Simon Marchi <simon.marchi@ericsson.com>
+
+ * tui/tui-win.c (window_name_completer): Replace VEC with
+ std::vector.
+
+2017-11-15 Andrew Cagney <cagney@gnu.org>
+
+ * MAINTAINERS: Remove no-longer applicable entries.
+
+2017-11-15 Andrew Cagney <cagney@gnu.org>
+
+ * MAINTAINERS: Move self to Past Maintainers.
+
+2017-11-15 Yao Qi <yao.qi@linaro.org>
+
+ * features/Makefile (XMLTOC): Remove nios2-linux.xml.
+ * features/nios2-linux.c: Remove.
+ * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
+ initialize_tdesc_nios2_linux.
+
+2017-11-15 Yao Qi <yao.qi@linaro.org>
+
+ * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
+ M68HC11_LAST_HARD_REG + 1.
+
+2017-11-14 Paul Carroll <pcarroll@codesourcery.com>
+
+ PR gdb/22388
+ * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
+ remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
+ Return TARGET_XFER_EOF if size of returned data is 0.
+
+2017-11-14 Simon Marchi <simon.marchi@ericsson.com>
+
+ * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+ memory-map-selftests.c.
+ (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
+ * memory-map.c (memory_map_start_memory): Fix computation of hi
+ address.
+ * unittests/memory-map-selftests.c: New file.
+
+2017-11-09 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c: Fix some typos in the general command documenting
+ how Ada expressions are being evaluated and how their result
+ is printed.
+
+2017-11-09 Tom Tromey <tom@tromey.com>
+
+ * psymtab.c (psymbol_hash): Do not hash string contents.
+ (psymbol_compare): Add comment.
+
+2017-11-09 Tom Tromey <tom@tromey.com>
+
+ * dictionary.c (dict_hash): Move "TKB" check into the "switch".
+
+2017-11-08 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-exp.y (write_var_from_sym): Remove parameter
+ "orig_left_context". Update all callers.
+
+2017-11-08 Simon Marchi <simon.marchi@ericsson.com>
+
+ * tracepoint.h (class collection_list) <stringify>: Return
+ std::vector<std::string>.
+ (encode_actions_rsp): Change parameters to
+ std::vector<std::string> *.
+ * tracepoint.c (collection_list::stringify): Return
+ std::vector<std::string> and adjust accordingly.
+ (encode_actions_rsp): Changee parameters to
+ std::vector<std::string> and adjust accordingly.
+ * remote.c (free_actions_list),
+ free_actions_list_cleanup_wrapper): Remove.
+ (remote_download_tracepoint): Adjust to std::vector.
+
+2017-11-08 Tom Tromey <tom@tromey.com>
+
+ * dwarf2read.c (symbolp): Remove typedef.
+ (read_func_scope): Use std::vector.
+ (process_structure_scope): Use std::vector.
+
+2017-11-08 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_make_symbol_completion_list): Use
+ completion_skip_symbol.
+ * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
+ (symbol_is_function_or_method(symbol*)): New.
+ (add_symtab_completions): Add complete_symbol_mode parameter. Use
+ completion_skip_symbol.
+ (default_collect_symbol_completion_matches_break_on): Use
+ completion_skip_symbol. Pass down mode.
+ (collect_file_symbol_completion_matches): Pass down mode.
+ * symtab.h (symbol_is_function_or_method): New declarations.
+ (completion_skip_symbol): New template function.
+
+2017-11-08 Pedro Alves <palves@redhat.com>
+
+ * linespec.c (iterate_over_all_matching_symtabs): Add
+ search_domain parameter. Pass it down to expand_symtabs_matching.
+ (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
+ (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
+ search_domain.
+ (add_all_symbol_names_from_pspace): Add search_domain parameter.
+ Pass it down.
+ (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
+ symbols.
+ (add_matching_symbols_to_info): Add search_domain parameter. Pass
+ it down.
+
+2017-11-08 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_make_symbol_completion_list): Remove text and
+ text_len locals and don't pass them down.
+ * symtab.c (completion_list_add_name): Remove
+ sym_text/sym_text_len parameters and adjust.
+ (completion_list_add_symbol, completion_list_add_msymbol)
+ (completion_list_objc_symbol, completion_list_add_fields)
+ (add_symtab_completions): Likewise.
+ (default_collect_symbol_completion_matches_break_on)
+ (collect_file_symbol_completion_matches): Remove sym_text_len
+ local and don't pass it down.
+ * symtab.h (completion_list_add_name): Remove
+ sym_text/sym_text_len parameters.
+
+2017-11-08 Pedro Alves <palves@redhat.com>
+
+ * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
+ unittests/lookup_name_info-selftests.c.
+ (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
+ * cp-support.c: Include "selftest.h".
+ (cp_remove_params_1): Rename from cp_remove_params. Add
+ 'require_param' parameter, and handle it.
+ (cp_remove_params): Reimplement.
+ (cp_remove_params_if_any): New.
+ (selftests::quote): New.
+ (selftests::check_remove_params): New.
+ (selftests::test_cp_remove_params): New.
+ (_initialize_cp_support): Install
+ selftests::test_cp_remove_params.
+ * cp-support.h (cp_remove_params_if_any): Declare.
+ * dwarf2read.c :Include "selftest.h".
+ (dw2_expand_symtabs_matching_symbol): Use
+ lookup_name_info::make_ignore_params.
+ (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
+ (selftests::dw2_expand_symtabs_matching::string_or_null)
+ (selftests::dw2_expand_symtabs_matching::check_match)
+ (selftests::dw2_expand_symtabs_matching::test_symbols)
+ (selftests::dw2_expand_symtabs_matching::run_test): New.
+ (_initialize_dwarf2_read): Register
+ selftests::dw2_expand_symtabs_matching::run_test.
+ * psymtab.c (psym_expand_symtabs_matching): Use
+ lookup_name_info::make_ignore_params.
+ * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
+ If the lookup name wants to ignore parameters, strip them.
+ (compare_symbol_name): Remove sym_text/sym_text_len parameters and
+ code handling '('.
+ (completion_list_add_name): Don't pass down sym_text/sym_text_len.
+ (default_collect_symbol_completion_matches_break_on): Don't try to
+ strip parameters.
+ * symtab.h (lookup_name_info::lookup_name_info): Add
+ 'ignore_parameters' parameter.
+ (lookup_name_info::ignore_parameters)
+ (lookup_name_info::make_ignore_params): New methods.
+ (lookup_name_info::m_ignore_parameters): New field.
+ * unittests/lookup_name_info-selftests.c: New file.
+
+2017-11-08 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (dw2_expand_marked_cus)
+ (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
+ (dw2_expand_symtabs_matching): Move further below.
+ (dw2_expand_marked_cus): Reindent.
+
+2017-11-08 Pedro Alves <palves@redhat.com>
+
+ * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
+ (struct name_component): New.
+ (mapped_index::name_components): New field.
+ (mapped_index::symbol_name_at): New method.
+ (dwarf2_read_index): Call mapped_index ctor.
+ (dw2_map_matching_symbols): Add comment about name_components
+ table.
+ (dw2_expand_symtabs_matching): Factor part to...
+ (dw2_expand_symtabs_matching_symbol): ... this new function.
+ Build name components table, and lookup symbols in it before
+ calling the name matcher.
+ (dw2_expand_marked_cus): New, factored out from
+ dw2_expand_symtabs_matching.
+ (dwarf2_per_objfile_free): Call the mapped_index's dtor.
+
+2017-11-08 Pedro Alves <palves@redhat.com>
+
+ * ada-lang.c (ada_encode): Rename to ..
+ (ada_encode_1): ... this. Add throw_errors parameter and handle
+ it.
+ (ada_encode): Reimplement.
+ (match_name): Delete, folded into full_name.
+ (resolve_subexp): No longer pass the encoded name to
+ ada_lookup_symbol_list.
+ (should_use_wild_match): Delete.
+ (name_match_type_from_name): New.
+ (ada_lookup_simple_minsym): Use lookup_name_info and the
+ language's symbol_name_matcher_ftype.
+ (add_symbols_from_enclosing_procs, ada_add_local_symbols)
+ (ada_add_block_renamings): Adjust to use lookup_name_info.
+ (ada_lookup_name): New.
+ (add_nonlocal_symbols, ada_add_all_symbols)
+ (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
+ (ada_iterate_over_symbols): Adjust to use lookup_name_info.
+ (ada_name_for_lookup): Delete.
+ (ada_lookup_encoded_symbol): Construct a verbatim name.
+ (wild_match): Reverse sense of return type. Use bool.
+ (full_match): Reverse sense of return type. Inline bits of old
+ match_name here.
+ (ada_add_block_symbols): Adjust to use lookup_name_info.
+ (symbol_completion_match): Delete, folded into...
+ (ada_lookup_name_info::matches): ... .this new method.
+ (symbol_completion_add): Delete.
+ (ada_collect_symbol_completion_matches): Add name_match_type
+ parameter. Adjust to use lookup_name_info and
+ completion_list_add_name.
+ (get_var_value, ada_add_global_exceptions): Adjust to use
+ lookup_name_info.
+ (ada_get_symbol_name_cmp): Delete.
+ (do_wild_match, do_full_match): New functions.
+ (ada_lookup_name_info::ada_lookup_name_info): New method.
+ (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
+ functions.
+ (ada_language_defn): Install ada_get_symbol_name_matcher.
+ * ada-lex.l (processId): If name starts with '<', copy it
+ verbatim.
+ * block.c (block_iter_match_step, block_iter_match_first)
+ (block_iter_match_next, block_lookup_symbol)
+ (block_lookup_symbol_primary, block_find_symbol): Adjust to use
+ lookup_name_info.
+ * block.h (block_iter_match_first, block_iter_match_next)
+ (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
+ * c-lang.c (c_language_defn, cplus_language_defn)
+ (asm_language_defn, minimal_language_defn): Adjust comments to
+ refer to la_get_symbol_name_matcher.
+ * completer.c (complete_files_symbols)
+ (collect_explicit_location_matches, symbol_completer): Pass a
+ symbol_name_match_type down.
+ * completer.h (class completion_match, completion_match_result):
+ New classes.
+ (completion_tracker::reset_completion_match_result): New method.
+ (completion_tracker::m_completion_match_result): New field.
+ * cp-support.c (make_symbol_overload_list_block): Adjust to use
+ lookup_name_info.
+ (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
+ functions.
+ * cp-support.h (cp_get_symbol_name_matcher): New declaration.
+ * d-lang.c: Adjust comments to refer to
+ la_get_symbol_name_matcher.
+ * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
+ Adjust to use lookup_name_info.
+ (dict_iter_match_first, dict_iter_match_next)
+ (iter_match_first_hashed, iter_match_next_hashed)
+ (iter_match_first_linear, iter_match_next_linear): Adjust to work
+ with a lookup_name_info.
+ * dictionary.h (dict_iter_match_first, dict_iter_match_next):
+ Likewise.
+ * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
+ (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
+ (gdb_index_symbol_name_matcher): New class.
+ (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
+ gdb_index_symbol_name_matcher. Accept a NULL symbol_matcher.
+ * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
+ with a symbol_name_match_type.
+ (f_language_defn): Adjust comments to refer to
+ la_get_symbol_name_matcher.
+ * go-lang.c (go_language_defn): Adjust comments to refer to
+ la_get_symbol_name_matcher.
+ * language.c (default_symbol_name_matcher)
+ (language_get_symbol_name_matcher): New functions.
+ (unknown_language_defn, auto_language_defn): Adjust comments to
+ refer to la_get_symbol_name_matcher.
+ * language.h (symbol_name_cmp_ftype): Delete.
+ (language_defn) <la_collect_symbol_completion_matches>: Add match
+ type parameter.
+ <la_get_symbol_name_cmp>: Delete field.
+ <la_get_symbol_name_matcher>: New field.
+ <la_iterate_over_symbols>: Adjust to use lookup_name_info.
+ (default_symbol_name_matcher, language_get_symbol_name_matcher):
+ Declare.
+ * linespec.c (iterate_over_all_matching_symtabs)
+ (iterate_over_file_blocks): Adjust to use lookup_name_info.
+ (find_methods): Add language parameter, and use lookup_name_info
+ and the language's symbol_name_matcher_ftype.
+ (linespec_complete_function): Adjust.
+ (lookup_prefix_sym): Use lookup_name_info.
+ (add_all_symbol_names_from_pspace): Adjust.
+ (find_superclass_methods): Add language parameter and pass it
+ down.
+ (find_method): Pass symbol language down.
+ (find_linespec_symbols): Don't demangle or Ada encode here.
+ (search_minsyms_for_name): Add lookup_name_info parameter.
+ (add_matching_symbols_to_info): Add name_match_type parameter.
+ Use lookup_name_info.
+ * m2-lang.c (m2_language_defn): Adjust comments to refer to
+ la_get_symbol_name_matcher.
+ * minsyms.c: Include <algorithm>.
+ (add_minsym_to_demangled_hash_table): Remove table parameter and
+ add objfile parameter. Use search_name_hash, and add language to
+ demangled languages vector.
+ (struct found_minimal_symbols): New struct.
+ (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
+ New functions.
+ (lookup_minimal_symbol): Adjust to use them. Don't canonicalize
+ input names here. Use lookup_name_info instead. Lookup up
+ demangled names once for each language in the demangled names
+ vector.
+ (iterate_over_minimal_symbols): Use lookup_name_info. Lookup up
+ demangled names once for each language in the demangled names
+ vector.
+ (build_minimal_symbol_hash_tables): Adjust.
+ * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
+ lookup_name_info.
+ * objc-lang.c (objc_language_defn): Adjust comment to refer to
+ la_get_symbol_name_matcher.
+ * objfiles.h: Include <vector>.
+ (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
+ * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
+ la_get_symbol_name_matcher.
+ * p-lang.c (pascal_language_defn): Adjust comment to refer to
+ la_get_symbol_name_matcher.
+ * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
+ (match_partial_symbol): Use symbol_name_match_type,
+ lookup_name_info and psymbol_name_matches.
+ (lookup_partial_symbol): Use lookup_name_info.
+ (map_block): Use symbol_name_match_type and lookup_name_info.
+ (psym_map_matching_symbols): Use symbol_name_match_type.
+ (psymbol_name_matches): New.
+ (recursively_search_psymtabs): Use lookup_name_info and
+ psymbol_name_matches. Rename 'kind' parameter to 'domain'.
+ (psym_expand_symtabs_matching): Use lookup_name_info. Rename
+ 'kind' parameter to 'domain'.
+ * rust-lang.c (rust_language_defn): Adjust comment to refer to
+ la_get_symbol_name_matcher.
+ * symfile-debug.c (debug_qf_map_matching_symbols)
+ (debug_qf_map_matching_symbols): Use symbol_name_match_type.
+ (debug_qf_expand_symtabs_matching): Use lookup_name_info.
+ * symfile.c (expand_symtabs_matching): Use lookup_name_info.
+ * symfile.h (quick_symbol_functions) <map_matching_symbols>:
+ Adjust to use symbol_name_match_type.
+ <expand_symtabs_matching>: Adjust to use lookup_name_info.
+ (expand_symtabs_matching): Adjust to use lookup_name_info.
+ * symmisc.c (maintenance_expand_symtabs): Use
+ lookup_name_info::match_any ().
+ * symtab.c (symbol_matches_search_name): New.
+ (eq_symbol_entry): Adjust to use lookup_name_info and the
+ language's matcher.
+ (demangle_for_lookup_info::demangle_for_lookup_info): New.
+ (lookup_name_info::match_any): New.
+ (iterate_over_symbols, search_symbols): Use lookup_name_info.
+ (compare_symbol_name): Add language, lookup_name_info and
+ completion_match_result parameters, and use them.
+ (completion_list_add_name): Make extern. Add language and
+ lookup_name_info parameters. Use them.
+ (completion_list_add_symbol, completion_list_add_msymbol)
+ (completion_list_objc_symbol): Add lookup_name_info parameters and
+ adjust. Pass down language.
+ (completion_list_add_fields): Add lookup_name_info parameters and
+ adjust. Pass down language.
+ (add_symtab_completions): Add lookup_name_info parameters and
+ adjust.
+ (default_collect_symbol_completion_matches_break_on): Add
+ name_match_type parameter, and use it. Use lookup_name_info.
+ (default_collect_symbol_completion_matches)
+ (collect_symbol_completion_matches): Add name_match_type
+ parameter, and pass it down.
+ (collect_symbol_completion_matches_type): Adjust.
+ (collect_file_symbol_completion_matches): Add name_match_type
+ parameter, and use lookup_name_info.
+ * symtab.h: Include <string> and "common/gdb_optional.h".
+ (enum class symbol_name_match_type): New.
+ (class ada_lookup_name_info): New.
+ (struct demangle_for_lookup_info): New.
+ (class lookup_name_info): New.
+ (symbol_name_matcher_ftype): New.
+ (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
+ (symbol_matches_search_name): Declare.
+ (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
+ (default_collect_symbol_completion_matches)
+ (collect_symbol_completion_matches)
+ (collect_file_symbol_completion_matches): Add name_match_type
+ parameter.
+ (iterate_over_symbols): Use lookup_name_info.
+ (completion_list_add_name): Declare.
+ * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
+ (strncmp_iw_with_mode): Now extern.
+ * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
+ (strncmp_iw_with_mode): Declare.
+
2017-11-08 Keith Seitz <keiths@redhat.com>
Pedro Alves <palves@redhat.com>