+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.