Remove DEF_VEC_P (varobj_p)
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 46de331eec31bd3e1b788fa027a3715a54319b5f..dc1bbfa81ff7d3657803b2879f2077374bd39278 100644 (file)
@@ -1,3 +1,368 @@
+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>.
This page took 0.029828 seconds and 4 git commands to generate.