
The next patch aims to remove the dwarf2_per_objfile global. In many functions, we need to find a way to get a reference to the current dwarf2_per_objfile through the objects passed in parameters. Often, we have access to a dwarf2_cu or a dwarf2_per_cu_data. These objects have a reference to the objfile, through which we can get the dwarf2_per_objfile: dwarf2_per_objfile = ((struct dwarf2_per_objfile *) objfile_data (objfile, dwarf2_objfile_data_key)); However, this is a bit cumbersome to do all over the place. It would be more logical if the dwarf2_cu and dwarf2_per_cu_data had a reference to their dwarf2_per_objfile, which would then have a reference to the objfile. It would be more in line with the object hierarchy, where dwarf2_per_objfile owns the dwarf2_per_cu_data instances. We could even remove the reference dwarf2_cu has to dwarf2_per_objfile, since we can access dwarf2_per_objfile through dwarf2_cu::per_cu. In a graphical way, references would look like this after the current patch: objfile <--- dwarf2_per_objfile <--- dwarf2_per_cu_data | ^ | | `- dwarf2_cu This patch has been tested on the buildbot. gdb/ChangeLog: * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove. <dwarf2_per_objfile>: New field. (struct dwarf2_per_cu_data) <objfile>: Remove. <dwarf2_per_objfile>: New field. (create_cu_from_index_list): Assign dwarf2_per_objfile instead of objfile. (create_signatured_type_table_from_index): Likewise. (create_debug_type_hash_table): Likewise. (fill_in_sig_entry_from_dwo_entry): Likewise. (lookup_dwo_unit): Access objfile through dwarf2_per_objfile. (create_type_unit_group): Assign dwarf2_per_objfile instead of objfile. (create_partial_symtab): Access objfile through dwarf2_per_objfile. (process_psymtab_comp_unit_reader): Likewise. (read_comp_units_from_section): Likewise. (scan_partial_symbols): Likewise. (add_partial_symbol): Likewise. (add_partial_subprogram): Likewise. (peek_die_abbrev): Likewise. (fixup_go_packaging): Likewise. (process_full_comp_unit): Likewise. (process_full_type_unit): Likewise. (process_imported_unit_die): Likewise. (dwarf2_compute_name): Likewise. (dwarf2_physname): Likewise. (read_import_statement): Likewise. (create_cus_hash_table): Assign dwarf2_physname instead of objfile. (read_func_scope): Access objfile through dwarf2_per_objfile. (read_lexical_block_scope): Likewise. (read_call_site_scope): Likewise. (read_variable): Likewise. (dwarf2_rnglists_process): Likewise. (dwarf2_ranges_process): Likewise. (dwarf2_ranges_read): Likewise. (dwarf2_record_block_ranges): Likewise. (dwarf2_add_field): Likewise. (dwarf2_add_member_fn): Likewise. (read_structure_type): Likewise. (process_structure_scope): Likewise. (read_enumeration_type): Likewise. (read_array_type): Likewise. (read_common_block): Likewise. (read_namespace_type): Likewise. (read_namespace): Likewise. (read_module_type): Likewise. (read_tag_pointer_type): Likewise. (read_tag_ptr_to_member_type): Likewise. (read_tag_string_type): Likewise. (read_subroutine_type): Likewise. (read_typedef): Likewise. (read_base_type): Likewise. (attr_to_dynamic_prop): Likewise. (read_subrange_type): Likewise. (read_unspecified_type): Likewise. (load_partial_dies): Likewise. (read_partial_die): Likewise. (find_partial_die): Likewise. (guess_partial_die_structure_name): Likewise. (fixup_partial_die): Likewise. (read_attribute_value): Likewise. (read_addr_index_from_leb128): Likewise. (dwarf2_read_addr_index): Likewise. (dwarf2_string_attr): Likewise. (lnp_state_machine::check_line_address): Likewise. (dwarf_decode_lines_1): Likewise. (dwarf_decode_lines): Likewise. (dwarf2_start_symtab): Likewise. (var_decode_location): Likewise. (new_symbol_full): Likewise. (dwarf2_const_value_data): Likewise. (dwarf2_const_value_attr): Likewise. (dwarf2_const_value): Likewise. (die_type): Likewise. (die_containing_type): Likewise. (lookup_die_type): Likewise. (guess_full_die_structure_name): Likewise. (anonymous_struct_prefix): Likewise. (dwarf2_name): Likewise. (follow_die_ref_or_sig): Likewise. (follow_die_offset): Likewise. (follow_die_ref): Likewise. (dwarf2_fetch_die_loc_sect_off): Likewise. (dwarf2_fetch_constant_bytes): Likewise. (dwarf2_fetch_die_type_sect_off): Likewise. (dwarf2_get_die_type): Likewise. (follow_die_sig): Likewise. (decode_locdesc): Likewise. (dwarf2_per_cu_objfile): Likewise. (dwarf2_per_cu_text_offset): Likewise. (init_one_comp_unit): Assign dwarf2_per_objfile instead of objfile. (set_die_type): Access objfile through dwarf2_per_objfile.
435 lines
16 KiB
Text
435 lines
16 KiB
Text
2018-01-07 Simon Marchi <simon.marchi@ericsson.com>
|
||
|
||
* dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
|
||
<dwarf2_per_objfile>: New field.
|
||
(struct dwarf2_per_cu_data) <objfile>: Remove.
|
||
<dwarf2_per_objfile>: New field.
|
||
(create_cu_from_index_list): Assign dwarf2_per_objfile instead
|
||
of objfile.
|
||
(create_signatured_type_table_from_index): Likewise.
|
||
(create_debug_type_hash_table): Likewise.
|
||
(fill_in_sig_entry_from_dwo_entry): Likewise.
|
||
(lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
|
||
(create_type_unit_group): Assign dwarf2_per_objfile instead of
|
||
objfile.
|
||
(create_partial_symtab): Access objfile through
|
||
dwarf2_per_objfile.
|
||
(process_psymtab_comp_unit_reader): Likewise.
|
||
(read_comp_units_from_section): Likewise.
|
||
(scan_partial_symbols): Likewise.
|
||
(add_partial_symbol): Likewise.
|
||
(add_partial_subprogram): Likewise.
|
||
(peek_die_abbrev): Likewise.
|
||
(fixup_go_packaging): Likewise.
|
||
(process_full_comp_unit): Likewise.
|
||
(process_full_type_unit): Likewise.
|
||
(process_imported_unit_die): Likewise.
|
||
(dwarf2_compute_name): Likewise.
|
||
(dwarf2_physname): Likewise.
|
||
(read_import_statement): Likewise.
|
||
(create_cus_hash_table): Assign dwarf2_physname instead of
|
||
objfile.
|
||
(read_func_scope): Access objfile through dwarf2_per_objfile.
|
||
(read_lexical_block_scope): Likewise.
|
||
(read_call_site_scope): Likewise.
|
||
(read_variable): Likewise.
|
||
(dwarf2_rnglists_process): Likewise.
|
||
(dwarf2_ranges_process): Likewise.
|
||
(dwarf2_ranges_read): Likewise.
|
||
(dwarf2_record_block_ranges): Likewise.
|
||
(dwarf2_add_field): Likewise.
|
||
(dwarf2_add_member_fn): Likewise.
|
||
(read_structure_type): Likewise.
|
||
(process_structure_scope): Likewise.
|
||
(read_enumeration_type): Likewise.
|
||
(read_array_type): Likewise.
|
||
(read_common_block): Likewise.
|
||
(read_namespace_type): Likewise.
|
||
(read_namespace): Likewise.
|
||
(read_module_type): Likewise.
|
||
(read_tag_pointer_type): Likewise.
|
||
(read_tag_ptr_to_member_type): Likewise.
|
||
(read_tag_string_type): Likewise.
|
||
(read_subroutine_type): Likewise.
|
||
(read_typedef): Likewise.
|
||
(read_base_type): Likewise.
|
||
(attr_to_dynamic_prop): Likewise.
|
||
(read_subrange_type): Likewise.
|
||
(read_unspecified_type): Likewise.
|
||
(load_partial_dies): Likewise.
|
||
(read_partial_die): Likewise.
|
||
(find_partial_die): Likewise.
|
||
(guess_partial_die_structure_name): Likewise.
|
||
(fixup_partial_die): Likewise.
|
||
(read_attribute_value): Likewise.
|
||
(read_addr_index_from_leb128): Likewise.
|
||
(dwarf2_read_addr_index): Likewise.
|
||
(dwarf2_string_attr): Likewise.
|
||
(lnp_state_machine::check_line_address): Likewise.
|
||
(dwarf_decode_lines_1): Likewise.
|
||
(dwarf_decode_lines): Likewise.
|
||
(dwarf2_start_symtab): Likewise.
|
||
(var_decode_location): Likewise.
|
||
(new_symbol_full): Likewise.
|
||
(dwarf2_const_value_data): Likewise.
|
||
(dwarf2_const_value_attr): Likewise.
|
||
(dwarf2_const_value): Likewise.
|
||
(die_type): Likewise.
|
||
(die_containing_type): Likewise.
|
||
(lookup_die_type): Likewise.
|
||
(guess_full_die_structure_name): Likewise.
|
||
(anonymous_struct_prefix): Likewise.
|
||
(dwarf2_name): Likewise.
|
||
(follow_die_ref_or_sig): Likewise.
|
||
(follow_die_offset): Likewise.
|
||
(follow_die_ref): Likewise.
|
||
(dwarf2_fetch_die_loc_sect_off): Likewise.
|
||
(dwarf2_fetch_constant_bytes): Likewise.
|
||
(dwarf2_fetch_die_type_sect_off): Likewise.
|
||
(dwarf2_get_die_type): Likewise.
|
||
(follow_die_sig): Likewise.
|
||
(decode_locdesc): Likewise.
|
||
(dwarf2_per_cu_objfile): Likewise.
|
||
(dwarf2_per_cu_text_offset): Likewise.
|
||
(init_one_comp_unit): Assign dwarf2_per_objfile instead of
|
||
objfile.
|
||
(set_die_type): Access objfile through
|
||
dwarf2_per_objfile.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@ericsson.com>
|
||
|
||
* valprint.c (converted_character_d): Remove typedef.
|
||
(DEF_VEC_O (converted_character_d)): Remove.
|
||
(count_next_character): Use std::vector.
|
||
(print_converted_chars_to_obstack): Likewise.
|
||
(generic_printstr): Likewise.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@polymtl.ca>
|
||
|
||
* xml-support.h (struct gdb_xml_value): Add constructor.
|
||
<value>: Change type to unique_xmalloc_ptr.
|
||
(gdb_xml_value_s): Remove typedef.
|
||
(DEF_VEC_O (gdb_xml_value_s)): Remove.
|
||
(gdb_xml_element_start_handler): Change parameter type to
|
||
std::vector.
|
||
(xml_find_attribute): Likewise.
|
||
* xml-support.c (xml_find_attribute): Change parameter type to
|
||
std::vector and adjust.
|
||
(gdb_xml_values_cleanup): Remove.
|
||
(gdb_xml_parser::start_element): Adjust to std::vector.
|
||
(xinclude_start_include): Change paraeter type to std::vector
|
||
and adjust.
|
||
* btrace.c (check_xml_btrace_version): Likewise.
|
||
(parse_xml_btrace_block): Likewise.
|
||
(parse_xml_btrace_pt_config_cpu): Likewise.
|
||
(parse_xml_btrace_pt): Likewise.
|
||
(parse_xml_btrace_conf_bts): Likewise.
|
||
(parse_xml_btrace_conf_pt): Likewise.
|
||
* memory-map.c (memory_map_start_memory): Likewise.
|
||
(memory_map_start_property): Likewise.
|
||
* osdata.c (osdata_start_osdata): Likewise.
|
||
(osdata_start_item): Likewise.
|
||
(osdata_start_column): Likewise.
|
||
* remote.c (start_thread): Likewise.
|
||
* solib-aix.c (library_list_start_library): Likewise.
|
||
(library_list_start_list): Likewise.
|
||
* solib-svr4.c (library_list_start_library): Likewise.
|
||
(svr4_library_list_start_list): Likewise.
|
||
* solib-target.c (library_list_start_segment): Likewise.
|
||
(library_list_start_section): Likewise.
|
||
(library_list_start_library): Likewise.
|
||
(library_list_start_list): Likewise.
|
||
* tracepoint.c (traceframe_info_start_memory): Likewise.
|
||
(traceframe_info_start_tvar): Likewise.
|
||
* xml-syscall.c (syscall_start_syscall): Likewise.
|
||
* xml-tdesc.c (tdesc_start_target): Likewise.
|
||
(tdesc_start_feature): Likewise.
|
||
(tdesc_start_reg): Likewise.
|
||
(tdesc_start_union): Likewise.
|
||
(tdesc_start_struct): Likewise.
|
||
(tdesc_start_flags): Likewise.
|
||
(tdesc_start_enum): Likewise.
|
||
(tdesc_start_field): Likewise.
|
||
(tdesc_start_enum_value): Likewise.
|
||
(tdesc_start_vector): Likewise.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@polymtl.ca>
|
||
|
||
* extension.h (struct xmethod_worker) <clone>: Remove.
|
||
* python/py-xmethods.c (struct python_xmethod_worker) <clone>:
|
||
Remove.
|
||
(python_xmethod_worker::clone): Remove.
|
||
* valops.c (find_overload_match): Use std::move instead of
|
||
clone.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@polymtl.ca>
|
||
|
||
* extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
|
||
(struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
|
||
<free_xmethod_worker_data>: Remove.
|
||
<get_matching_xmethod_workers>: Chance VEC to std::vector.
|
||
<get_xmethod_arg_types>: Remove.
|
||
<get_xmethod_result_type>: Remove.
|
||
<invoke_xmethod>: Remove.
|
||
* extension.c (new_xmethod_worker): Remove.
|
||
(clone_xmethod_worker): Remove.
|
||
(get_matching_xmethod_workers): Return void, pass std::vector by
|
||
pointer.
|
||
(get_xmethod_arg_types): Rename to...
|
||
(xmethod_worker::get_arg_types): ... this, and adjust.
|
||
(get_xmethod_result_type): Rename to...
|
||
(xmethod_worker::get_result_type): ... this, and adjust.
|
||
(invoke_xmethod): Remove.
|
||
(free_xmethod_worker): Remove.
|
||
(free_xmethod_worker_vec): Remove.
|
||
* extension.h (enum ext_lang_rc): Move here from
|
||
extension-priv.h.
|
||
(struct xmethod_worker): Add constructor and destructor.
|
||
<data>: Remove.
|
||
<value>: Remove.
|
||
<invoke, clone, do_get_result_type, do_get_arg_types>: New
|
||
virtual pure methods.
|
||
<get_arg_types, get_result_type>: New methods.
|
||
(xmethod_worker_ptr): Remove typedef.
|
||
(DEF_VEC_P (xmethod_worker_ptr)): Remove.
|
||
(xmethod_worker_vec): Remove typedef.
|
||
(xmethod_worker_up): New typedef.
|
||
(invoke_xmethod): Remove.
|
||
(clone_xmethod_worker): Remove.
|
||
(free_xmethod_worker): Remove.
|
||
(free_xmethod_worker_vec): Remove.
|
||
(get_xmethod_arg_types): Remove.
|
||
(get_xmethod_result_type): Remove.
|
||
* valops.c (find_method_list): Use std::vector, don't use
|
||
intermediate vector.
|
||
(value_find_oload_method_list): Use std::vector.
|
||
(find_overload_match): Use std::vector.
|
||
(find_oload_champ): Use std::vector.
|
||
* value.c (value_free): Use operator delete.
|
||
(value_of_xmethod): Rename to...
|
||
(value_from_xmethod): ... this. Don't assign
|
||
xmethod_worker::value, take rvalue-reference.
|
||
(result_type_of_xmethod): Adjust.
|
||
(call_xmethod): Adjust.
|
||
* value.h: Include extension.h.
|
||
(struct xmethod_worker): Don't forward-declare.
|
||
(value_of_xmethod): Rename to...
|
||
(value_from_xmethod): ... this, take rvalue-reference.
|
||
* python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
|
||
(struct python_xmethod_worker): ... this, add constructor and
|
||
destructor.
|
||
<invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
|
||
(gdbpy_free_xmethod_worker_data): Rename to...
|
||
(python_xmethod_worker::~python_xmethod_worker): ... this and
|
||
adjust.
|
||
(gdbpy_clone_xmethod_worker_data): Rename to...
|
||
(python_xmethod_worker::clone): ... this and adjust.
|
||
(gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
|
||
temporary vector.
|
||
(gdbpy_get_xmethod_arg_types): Rename to...
|
||
(python_xmethod_worker::do_get_arg_types): ... this and adjust.
|
||
(gdbpy_get_xmethod_result_type): Rename to...
|
||
(python_xmethod_worker::do_get_result_type): ... this and
|
||
adjust.
|
||
(gdbpy_invoke_xmethod): Rename to...
|
||
(python_xmethod_worker::invoke): ... this and adjust.
|
||
(new_python_xmethod_worker): Rename to...
|
||
(python_xmethod_worker::python_xmethod_worker): ... this and
|
||
adjust.
|
||
* python/python-internal.h (gdbpy_clone_xmethod_worker_data):
|
||
Remove.
|
||
(gdbpy_free_xmethod_worker_data): Remove.
|
||
(gdbpy_get_matching_xmethod_workers): Use std::vector.
|
||
(gdbpy_get_xmethod_arg_types): Remove.
|
||
(gdbpy_get_xmethod_result_type): Remove.
|
||
(gdbpy_invoke_xmethod): Remove.
|
||
* python/python.c (python_extension_ops): Remove obsolete
|
||
callbacks.
|
||
|
||
2018-01-05 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/18653
|
||
* common/signals-state-save-restore.c
|
||
(save_original_signals_state): New parameter 'quiet'. Warn if we
|
||
find a custom handler preinstalled, instead of internal erroring.
|
||
But only warn if !quiet.
|
||
* common/signals-state-save-restore.h
|
||
(save_original_signals_state): New parameter 'quiet'.
|
||
* main.c (captured_main_1): Move save_original_signals_state call
|
||
after option handling, and pass QUIET.
|
||
|
||
2018-01-05 Pedro Alves <palves@redhat.com>
|
||
|
||
* spu-tdep.c (spu_catch_start): Pass
|
||
symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
|
||
|
||
2018-01-05 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/22670
|
||
* ada-lang.c (literal_symbol_name_matcher): New function.
|
||
(ada_get_symbol_name_matcher): Use it for
|
||
symbol_name_match_type::SEARCH_NAME.
|
||
* block.c (block_lookup_symbol): New parameter 'match_type'. Pass
|
||
it down instead of assuming symbol_name_match_type::FULL.
|
||
* block.h (block_lookup_symbol): New parameter 'match_type'.
|
||
* c-valprint.c (print_unpacked_pointer): Use
|
||
lookup_symbol_search_name instead of lookup_symbol.
|
||
* compile/compile-object-load.c (get_out_value_type): Pass down
|
||
symbol_name_match_type::SEARCH_NAME.
|
||
* cp-namespace.c (cp_basic_lookup_symbol): Pass down
|
||
symbol_name_match_type::FULL.
|
||
* cp-support.c (cp_get_symbol_name_matcher): Handle
|
||
symbol_name_match_type::SEARCH_NAME.
|
||
* infrun.c (insert_exception_resume_breakpoint): Use
|
||
lookup_symbol_search_name.
|
||
* p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
|
||
* psymtab.c (maintenance_check_psymtabs): Use
|
||
symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
|
||
* stack.c (print_frame_args): Use lookup_symbol_search_name and
|
||
SYMBOL_SEARCH_NAME.
|
||
* symtab.c (lookup_local_symbol): Don't demangle the lookup name
|
||
if symbol_name_match_type::SEARCH_NAME.
|
||
(lookup_symbol_in_language): Pass down
|
||
symbol_name_match_type::FULL.
|
||
(lookup_symbol_search_name): New.
|
||
(lookup_language_this): Pass down
|
||
symbol_name_match_type::SEARCH_NAME.
|
||
(lookup_symbol_aux, lookup_local_symbol): New parameter
|
||
'match_type'. Pass it down.
|
||
* symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
|
||
(lookup_symbol_search_name): New declaration.
|
||
(lookup_symbol_in_block): New 'match_type' parameter.
|
||
|
||
2018-01-05 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/22670
|
||
* ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
|
||
ada_lookup_symbol.
|
||
(ada_lookup_symbol): Reimplement in terms of
|
||
ada_lookup_symbol_list, bits factored out from
|
||
ada_lookup_encoded_symbol.
|
||
|
||
2018-01-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* ada-exp.y (write_object_renaming): When subscripting an array
|
||
using a symbol as the index, pass the block in call to
|
||
ada_lookup_encoded_symbol when looking that symbol up.
|
||
|
||
2018-01-05 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* ada-lang.c (ada_array_length): Use ada_index_type instead of
|
||
TYPE_INDEX_TYPE.
|
||
|
||
2018-01-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* ada-lang.c (ada_to_fixed_value_create): Add handling of
|
||
the case where VALUE_LVAL (val0) is not lval_memory.
|
||
|
||
2018-01-05 Xavier Roirand <roirand@adacore.com>
|
||
|
||
* ada-valprint.c (print_optional_low_bound): Handle
|
||
character-indexed array printing like boolean-indexed array
|
||
printing.
|
||
|
||
2018-01-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* NEWS: Create a new section for the next release branch.
|
||
Rename the section of the current branch, now that it has
|
||
been cut.
|
||
|
||
2018-01-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
|
||
* version.in: Bump version to 8.1.50.DATE-git.
|
||
|
||
2018-01-03 Xavier Roirand <roirand@adacore.com>
|
||
|
||
* ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
|
||
Add field.
|
||
* ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
|
||
Add field.
|
||
(default_exception_support_info) <catch_handlers_sym>: Add field.
|
||
(exception_support_info_fallback) <catch_handlers_sym>: Add field.
|
||
(ada_exception_name_addr_1): Add "catch handlers" handling.
|
||
(ada_exception_catchpoint_cond_string) <ex>: New parameter.
|
||
Update all callers.
|
||
(create_excep_cond_exprs) <ex>: Add parameter.
|
||
(re_set_exception): Update create_excep_cond_exprs call.
|
||
(print_it_exception, print_one_exception, print_mention_exception)
|
||
(print_recreate_exception): Add "catch handler" handling.
|
||
(allocate_location_catch_handlers, re_set_catch_handlers)
|
||
(check_status_catch_handlers, print_it_catch_handlers)
|
||
(print_one_catch_handlers, print_mention_catch_handlers)
|
||
(print_recreate_catch_handlers): New function.
|
||
(catch_handlers_breakpoint_ops): New variable.
|
||
(catch_ada_exception_command_split) <is_catch_handlers_cmd>:
|
||
Add parameter. Add "catch handler" handling.
|
||
(ada_exception_sym_name, ada_exception_breakpoint_ops):
|
||
Add "catch handler" handling.
|
||
(ada_exception_catchpoint_cond_string): Add "catch handler"
|
||
handling.
|
||
(create_ada_exception_catchpoint): Update create_excep_cond_exprs
|
||
call.
|
||
(catch_ada_handlers_command): New function.
|
||
(initialize_ada_catchpoint_ops): Initialize "catch handlers"
|
||
operations structure.
|
||
(_initialize_ada_language): Add "catch handlers" command entry.
|
||
* NEWS: Document "catch handlers" feature.
|
||
|
||
2018-01-02 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* ada-lang.c (ada_value_slice_from_ptr): Take array stride into
|
||
account when creating the array type of the slice.
|
||
(ada_value_slice): Likewise.
|
||
|
||
2018-01-02 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
|
||
New enum value.
|
||
(create_array_type_with_stride): Add byte_stride_prop parameter.
|
||
* gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
|
||
New parameter. Update all callers in this file.
|
||
(array_type_has_dynamic_stride): New function.
|
||
(is_dynamic_type_internal, resolve_dynamic_array): Add handling
|
||
of arrays with dynamic byte strides.
|
||
* dwarf2read.c (read_array_type): Add support for dynamic
|
||
DW_AT_byte_stride attributes.
|
||
|
||
2018-01-02 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* dwarf2read.c (read_unspecified_type): Treat
|
||
DW_TAG_enumeration_type DIEs from Ada units as stubs.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
Update copyright year range in all GDB files.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
|
||
and gdb/testsuite/gdb.base/step-line.c.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* copyright.py (main): Dump the contents of
|
||
MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
|
||
even if BY_HAND is empty.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* top.c (print_gdb_version): Update Copyright year in version
|
||
message.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
|
||
|
||
For older changes see ChangeLog-2017.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
coding: utf-8
|
||
End:
|