Add psymtab_storage::allocate_dependencies
[external/binutils.git] / gdb / ChangeLog
index e3c4c53..5b7551b 100644 (file)
@@ -1,3 +1,603 @@
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (xcoff_end_psymtab): Use allocate_dependencies.
+       * psymtab.h (psymtab_storage::allocate_dependencies): New method.
+       * mdebugread.c (parse_partial_symbols): Use
+       allocate_dependencies.
+       * dwarf2read.c (dwarf2_create_include_psymtab): Use
+       allocate_dependencies.
+       (process_psymtab_comp_unit_reader)
+       (build_type_psymtab_dependencies): Likewise.
+       * dbxread.c (dbx_end_psymtab): Use allocate_dependencies.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * psymtab.c (add_psymbol_to_bcache): Pass psymtab obstack to
+       PSYMBOL_SET_LANGUAGE.
+       (allocate_psymtab): Allocate psymtab on the psymtab obstack.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * psymtab.h (psymtab_storage::obstack): New method.
+       <m_obstack>: Rename from obstack; now private.
+       * psymtab.c (psymtab_storage): Update.
+       * dwarf2read.c (create_addrmap_from_index)
+       (create_addrmap_from_aranges, dwarf2_build_psymtabs_hard):
+       Update.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * symfile.c (reread_symbols): Call objfile->reset_psymtabs.
+       * objfiles.h (objfile::reset_psymtabs): New method.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * symmisc.c (print_symbol_bcache_statistics): Update.
+       (print_objfile_statistics): Update.
+       * symfile.c (reread_symbols): Update.
+       * psymtab.h (class psymtab_storage): New.
+       * psymtab.c (psymtab_storage): New constructor.
+       (~psymtab_storage): New destructor.
+       (require_partial_symbols): Update.
+       (ALL_OBJFILE_PSYMTABS_REQUIRED): Rewrite.
+       (find_pc_sect_psymtab, find_pc_sect_psymbol)
+       (match_partial_symbol, lookup_partial_symbol, dump_psymtab)
+       (psym_dump, recursively_search_psymtabs, psym_has_symbols)
+       (psym_find_compunit_symtab_by_address, sort_pst_symbols)
+       (start_psymtab_common, end_psymtab_common)
+       (add_psymbol_to_bcache, add_psymbol_to_list, init_psymbol_list)
+       (allocate_psymtab): Update.
+       (psymtab_storage::discard_psymtab): Rename from discard_psymtab.
+       Update.
+       (dump_psymtab_addrmap, maintenance_print_psymbols)
+       (maintenance_check_psymtabs): Update.
+       (class objfile_psymtabs): Move to objfiles.h.
+       * psympriv.h (discard_psymtab): Now inline.
+       (psymtab_discarder::psymtab_discarder): Update.
+       (psymtab_discarder::~psymtab_discarder): Update.
+       (ALL_OBJFILE_PSYMTABS): Rewrite.
+       * objfiles.h (struct objfile) <psymtabs, psymtabs_addrmap,
+       free_psymtabs, psymbol_cache, global_psymbols, static_psymbols>:
+       Remove fields.
+       <partial_symtabs>: New field.
+       (class objfile_psymtabs): Move from psymtab.h.  Update.
+       * objfiles.c (objfile::objfile): Initialize partial_symtabs, not
+       psymbol_cache.
+       (objfile::~objfile): Don't destroy psymbol_cache.
+       * mdebugread.c (parse_partial_symbols): Update.
+       * dwarf2read.c (create_addrmap_from_index)
+       (create_addrmap_from_aranges, dw2_find_pc_sect_compunit_symtab)
+       (process_psymtab_comp_unit_reader, dwarf2_build_psymtabs_hard)
+       (add_partial_subprogram, dwarf2_ranges_read): Update.
+       * dwarf-index-write.c (write_address_map)
+       (write_one_signatured_type, recursively_write_psymbols)
+       (class debug_names, class debug_names, write_psymtabs_to_index):
+       Update.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * symtab.h (SYMBOL_SET_NAMES): Update.
+       (symbol_set_names): Update.
+       (MSYMBOL_SET_NAMES): Update.
+       * symtab.c (symbol_set_names): Change argument to be an
+       objfile_per_bfd_storage.
+       * psymtab.c (add_psymbol_to_bcache): Update.
+       * psympriv.h (PSYMBOL_SET_NAMES): Take per_bfd argument.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * symtab.c (create_demangled_names_hash): Change argument to be an
+       objfile_per_bfd_storage.
+       (symbol_set_names): Update.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (xcoff_initial_scan): Unconditionally call
+       init_psymbol_list.
+       * psymtab.c (init_psymbol_list): Do nothing if already called.
+       * psympriv.h (init_psymbol_list): Add comment.
+       * dwarf2read.c (dwarf2_build_psymtabs): Unconditionally call
+       init_psymbol_list.
+       * dbxread.c (dbx_symfile_read): Unconditionally call
+       init_psymbol_list.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (scan_xcoff_symtab): Update.
+       * psymtab.c (add_psymbol_to_list): Replace "list" parameter with
+       "where".
+       * mdebugread.c (parse_partial_symbols)
+       (handle_psymbol_enumerators): Update.
+       * dwarf2read.c (add_partial_symbol, load_partial_dies): Update.
+       * dbxread.c (read_dbx_symtab): Update.
+       * psympriv.h (psymbol_placement): New enum.
+       (add_psymbol_to_list): Update.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (xcoff_start_psymtab): Remove global_psymbols and
+       static_psymbols parameters.
+       (scan_xcoff_symtab): Update.
+       * psymtab.c (start_psymtab_common): Remove global_psymbols and
+       static_psymbols parameters.
+       * psympriv.h (start_psymtab_common): Update.
+       * mdebugread.c (parse_partial_symbols): Update.
+       * dwarf2read.c (create_partial_symtab): Update.
+       * dbxread.c (read_dbx_symtab): Update.
+       (start_psymtab): Remove global_psymbols and static_psymbols
+       parameters.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * xcoffread.c (xcoff_end_psymtab): Remove some initializations.
+       * psymtab.c (allocate_psymtab): Add comment.
+       * psympriv.h (allocate_psymtab): Add comment.
+       * dwarf2read.c (dwarf2_create_include_psymtab): Remove some
+       initializations.
+       * dbxread.c (dbx_end_psymtab): Remove some initializations.
+
+2019-01-10  Tom Tromey  <tom@tromey.com>
+
+       * symfile.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs):
+       Don't declare.
+       * mipsread.c: Include mdebugread.h.
+       * mdebugread.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs):
+       Declare.
+       * elfread.c: Include mdebugread.h.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * dbxread.c (dbx_end_psymtab): Use objfile_psymtabs.
+       * mdebugread.c (parse_partial_symbols): Use objfile_psymtabs.
+       * psymtab.c (ALL_OBJFILE_PSYMTABS_REQUIRED): Remove.
+       (psym_map_symtabs_matching_filename, find_pc_sect_psymtab)
+       (psym_lookup_symbol, psym_find_last_source_symtab)
+       (psym_forget_cached_source_info, psym_print_stats)
+       (psym_expand_symtabs_for_function, psym_expand_all_symtabs)
+       (psym_expand_symtabs_with_fullname, psym_map_symbol_filenames)
+       (psym_map_matching_symbols, psym_expand_symtabs_matching)
+       (psym_find_compunit_symtab_by_address)
+       (maintenance_print_psymbols, maintenance_info_psymtabs)
+       (maintenance_check_psymtabs): Use ranged for.
+       * psymtab.h (class objfile_psymtabs): New.
+       (require_partial_symbols): Return objfile_psymtabs.
+       * psympriv.h (ALL_OBJFILE_PSYMTABS): Remove.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * symfile.c (overlay_invalidate_all, find_pc_overlay)
+       (find_pc_mapped_section, list_overlays_command)
+       (map_overlay_command, unmap_overlay_command)
+       (simple_overlay_update): Use all_objfiles.
+       * spu-tdep.c (spu_overlay_update): Use all_objfiles.
+       * printcmd.c (info_symbol_command): Use all_objfiles.
+       * objfiles.h (ALL_OBJSECTIONS): Remove.
+       * maint.c (maintenance_translate_address): Use all_objfiles.
+       * gcore.c (gcore_create_callback): Use all_objfiles.
+       (objfile_find_memory_regions): Likewise.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * symtab.c (find_line_symtab, info_sources_command)
+       (make_source_files_completion_list): Use objfile_compunits.
+       * source.c (select_source_symtab): Use objfile_compunits.
+       * objfiles.h (struct objfile): Update comment.
+       (ALL_OBJFILES): Remove.
+       (ALL_FILETABS): Remove.
+       * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Use
+       objfile_compunits.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * symmisc.c (print_objfile_statistics, dump_objfile)
+       (maintenance_print_symbols): Use compunit_filetabs.
+       * source.c (forget_cached_source_info_for_objfile): Use
+       compunit_filetabs.
+       * objfiles.h (ALL_OBJFILE_FILETABS): Remove.
+       (ALL_FILETABS): Use compunit_filetabs.
+       * objfiles.c (objfile_relocate1): Use compunit_filetabs.
+       * coffread.c (coff_symtab_read): Use compunit_filetabs.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * symtab.h (ALL_COMPUNIT_FILETABS): Remove.
+       (compunit_filetabs): New.
+       * symtab.c (iterate_over_some_symtabs, find_pc_sect_line): Use
+       compunit_filetabs.
+       (info_sources_command, make_source_files_completion_list): Remove
+       declaration.
+       * symmisc.c (print_objfile_statistics, dump_objfile)
+       (maintenance_print_symbols): Remove declaration.
+       (maintenance_info_symtabs): Use compunit_filetabs.
+       (maintenance_info_line_tables): Likewise.
+       * source.c (select_source_symtab): Change local variable name.
+       (forget_cached_source_info_for_objfile): Remove declaration.
+       * objfiles.h (ALL_OBJFILE_FILETABS): Use compunit_filetabs.
+       * objfiles.c (objfile_relocate1): Remove declaration.
+       * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
+       declaration.
+       * maint.c (count_symtabs_and_blocks): Use compunit_filetabs.
+       * coffread.c (coff_symtab_read): Remove declaration.
+       * buildsym.c (buildsym_compunit::end_symtab_with_blockvector): Use
+       compunit_filetabs.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * symtab.c (lookup_objfile_from_block)
+       (find_pc_sect_compunit_symtab, search_symbols)
+       (default_collect_symbol_completion_matches_break_on): Use
+       objfile_compunits.
+       * objfiles.h (ALL_COMPUNITS): Remove.
+       * maint.c (count_symtabs_and_blocks): Use objfile_compunits.
+       * cp-support.c (add_symbol_overload_list_qualified): Use
+       objfile_compunits.
+       * ada-lang.c (ada_collect_symbol_completion_matches)
+       (ada_add_global_exceptions): Use objfile_compunits.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * source.c (select_source_symtab)
+       (forget_cached_source_info_for_objfile): Remove declaration.
+       * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
+       declaration.
+       * maint.c (count_symtabs_and_blocks): Remove declaration.
+       * cp-support.c (add_symbol_overload_list_qualified): Remove
+       declaration.
+       * coffread.c (coff_symtab_read): Remove declaration.
+       * symtab.c (lookup_symbol_in_objfile_symtabs)
+       (basic_lookup_transparent_type_1): Use objfile_compunits.
+       (lookup_objfile_from_block, find_pc_sect_compunit_symtab)
+       (info_sources_command, search_symbols)
+       (default_collect_symbol_completion_matches_break_on)
+       (make_source_files_completion_list): Remove declaration.
+       * ada-lang.c (add_nonlocal_symbols): Use objfile_compunits.
+       (ada_collect_symbol_completion_matches)
+       (ada_add_global_exceptions): Remove declaration.
+       * linespec.c (iterate_over_all_matching_symtabs): Use
+       objfile_compunits.
+       * objfiles.h (ALL_OBJFILE_COMPUNITS): Remove.
+       (class objfile_compunits): New.
+       (ALL_COMPUNITS): Use objfile_compunits.
+       * symmisc.c (print_objfile_statistics, maintenance_info_symtabs)
+       (maintenance_check_symtabs, maintenance_info_line_tables): Use
+       objfile_compunits.
+       * objfiles.c (objfile_relocate1): Use objfile_compunits.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * symtab.c (search_symbols)
+       (default_collect_symbol_completion_matches_break_on): Use
+       objfile_msymbols.
+       * ada-lang.c (ada_lookup_simple_minsym)
+       (ada_collect_symbol_completion_matches): Use objfile_msymbols.
+       * minsyms.c (find_solib_trampoline_target): Use objfile_msymbols.
+       * hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Use
+       objfile_msymbols.
+       * coffread.c (coff_symfile_read): Use objfile_msymbols.
+       * symmisc.c (dump_msymbols): Use objfile_msymbols.
+       * objc-lang.c (find_methods): Use objfile_msymbols.
+       (info_selectors_command, info_classes_command): Likewise.
+       * stabsread.c (scan_file_globals): Use objfile_msymbols.
+       * objfiles.h (class objfile_msymbols): New.
+       (ALL_OBJFILE_MSYMBOLS): Remove.
+       (ALL_MSYMBOLS): Remove.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * common/next-iterator.h (next_adapter): Add Iterator template
+       parameter.
+       * objfiles.h (ALL_OBJFILES_SAFE): Remove.
+       (class all_objfiles_safe): New.
+       * jit.c (jit_inferior_exit_hook): Use all_objfiles_safe.
+       * objfiles.c (put_objfile_before): Update comment.
+       (add_separate_debug_objfile): Likewise.
+       (free_all_objfiles): Use all_objfiles_safe.
+       (objfile_purge_solibs): Likewise.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * symtab.c (iterate_over_symtabs, matching_obj_sections)
+       (expand_symtab_containing_pc, lookup_static_symbol)
+       (basic_lookup_transparent_type, find_pc_sect_compunit_symtab)
+       (find_symbol_at_address, find_line_symtab, find_main_name): Use
+       all_objfiles.
+       * probe.c (find_probe_by_pc, collect_probes): Use all_objfiles.
+       * breakpoint.c (create_overlay_event_breakpoint)
+       (create_longjmp_master_breakpoint)
+       (create_std_terminate_master_breakpoint)
+       (create_exception_master_breakpoint): Use all_objfiles.
+       * linux-thread-db.c (try_thread_db_load_from_pdir)
+       (has_libpthread): Use all_objfiles.
+       * ada-lang.c (add_nonlocal_symbols): Use all_objfiles.
+       * linespec.c (iterate_over_all_matching_symtabs)
+       (search_minsyms_for_name): Use all_objfiles.
+       * maint.c (maintenance_info_sections): Use all_objfiles.
+       * main.c (captured_main_1): Use all_objfiles.
+       * spu-tdep.c (spu_objfile_from_frame): Use all_objfiles.
+       * guile/scm-objfile.c (gdbscm_objfiles): Use all_objfiles.
+       * guile/scm-pretty-print.c
+       (ppscm_find_pretty_printer_from_objfiles): Use all_objfiles.
+       * solib-spu.c (append_ocl_sos): Use all_objfiles.
+       * symmisc.c (maintenance_print_symbols): Use all_objfiles.
+       (maintenance_print_msymbols): Use all_objfiles.
+       * source.c (select_source_symtab): Use all_objfiles.
+       * jit.c (jit_find_objf_with_entry_addr): Use all_objfiles.
+       * symfile.c (remove_symbol_file_command)
+       (expand_symtabs_matching, map_symbol_filenames): Use
+       all_objfiles.
+       * ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Use
+       all_objfiles.
+       * dwarf2-frame.c (dwarf2_frame_find_fde): Use all_objfiles.
+       * objc-lang.c (find_methods): Use all_objfiles.
+       * objfiles.c (have_partial_symbols, have_full_symbols)
+       (have_minimal_symbols, qsort_cmp)
+       (default_iterate_over_objfiles_in_search_order): Use
+       all_objfiles.
+       * hppa-tdep.c (find_unwind_entry): Use all_objfiles.
+       * psymtab.c (maintenance_print_psymbols): Use all_objfiles.
+       (maintenance_check_psymtabs): Use all_objfiles.
+       (ALL_PSYMTABS): Remove.
+       * compile/compile-object-run.c (do_module_cleanup): Use
+       all_objfiles.
+       * blockframe.c (find_pc_partial_function): Use all_objfiles.
+       * cp-support.c (add_symbol_overload_list_qualified): Use
+       all_objfiles.
+       * windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
+       Use all_objfiles.
+       * dwarf-index-write.c (save_gdb_index_command): Use all_objfiles.
+       * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Use
+       all_objfiles.
+       * python/py-objfile.c (objfpy_lookup_objfile_by_name)
+       (objfpy_lookup_objfile_by_build_id): Use all_objfiles.
+       * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
+       Uses all_objfiles.
+       * solib.c (solib_read_symbols): Use all_objfiles
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * probe.c (parse_probes_in_pspace): Use all_objfiles.
+       * guile/scm-progspace.c (gdbscm_progspace_objfiles): Use
+       all_objfiles.
+       * objfiles.h (ALL_PSPACE_OBJFILES): Remove.
+       * symmisc.c (print_symbol_bcache_statistics)
+       (print_objfile_statistics, maintenance_print_objfiles)
+       (maintenance_info_symtabs, maintenance_check_symtabs)
+       (maintenance_expand_symtabs, maintenance_info_line_tables): Use
+       all_objfiles.
+       * source.c (forget_cached_source_info): Use all_objfiles.
+       * symfile-debug.c (set_debug_symfile): Use all_objfiles.
+       * elfread.c (elf_gnu_ifunc_resolve_by_cache)
+       (elf_gnu_ifunc_resolve_by_got): Use all_objfiles.
+       * objfiles.c (update_section_map): Use all_objfiles.
+       (shared_objfile_contains_address_p): Likewise.
+       * psymtab.c (maintenance_info_psymtabs): Use all_objfiles.
+       * python/py-progspace.c (pspy_get_objfiles): Use all_objfiles.
+
+2019-01-09  Tom Tromey  <tom@tromey.com>
+
+       * common/next-iterator.h: New file.
+       * objfiles.h (class all_objfiles): New.
+       (struct objfile_iterator): New.
+
+2019-01-09  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+       * NEWS: Move the description of the changed "frame", "select-frame",
+        and "info frame" commands to the Changed commands section.
+
+2019-01-09  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * gdbtypes.c (check_stub_method_group): Remove handling of old
+       mangling schemes.
+       * linespec.c (find_methods): Likewise.
+       * stabsread.c (read_member_functions): Likewise.
+       * valops.c (search_struct_method): Likewise.
+       (value_struct_elt_for_reference): Likewise.
+       * NEWS: Mention this change.
+
+2019-01-09  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * cli/cli-cmds.c (list_command): Pass a source_lines_range to
+       print_source_lines.
+       * source.c (print_source_lines_base): Update line number check.
+       (print_source_lines): New function.
+       (source_lines_range::source_lines_range): New function.
+       * source.h (class source_lines_range): New class.
+       (print_source_lines): New declaration.
+
+2019-01-09  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+       * linespec.c (linespec_state_destructor): Free self->canonical_names.
+
+2019-01-08  Tom Tromey  <tom@tromey.com>
+           Simon Marchi  <simon.marchi@ericsson.com>
+
+       PR gdb/24060
+       * ada-exp.y (DOLLAR_VARIABLE): Rename from SPECIAL_VARIABLE.
+       * ada-lex.l (DOLLAR_VARIABLE): Likewise.
+       * c-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
+       * f-exp.y (DOLLAR_VARIABLE): Likewise.
+       * m2-exp.y (DOLLAR_VARIABLE): Rename from INTERNAL_VAR.
+       * p-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
+
+2019-01-08  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * source.c (select_source_symtab): Move header comment to
+       declaration in source.h.
+       (forget_cached_source_info_for_objfile): Likewise.
+       (forget_cached_source_info): Likewise.
+       (identify_source_line): Likewise.
+       * source.h (identify_source_line): Move declaration from symtab.h
+       and add comment from source.c
+       (print_source_lines): Likewise.
+       (forget_cached_source_info_for_objfile): Likewise.
+       (forget_cached_source_info): Likewise.
+       (select_source_symtab): Likewise.
+       (enum print_source_lines_flag): Move definition from symtab.h.
+       * symtab.h (identify_source_line): Move declaration to source.h.
+       (print_source_lines): Likewise.
+       (forget_cached_source_info_for_objfile): Likewise.
+       (forget_cached_source_info): Likewise.
+       (select_source_symtab): Likewise.
+       (enum print_source_lines_flag): Move definition to source.h.
+       * tui/tui-hooks.c: Add 'source.h' include.
+
+2019-01-08  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * source.c (print_source_lines_base): Handle requests to print
+       reverse line number sequences, and guard against empty lines
+       string.
+
+2019-01-08  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * source.c (print_source_lines_base): Fix skip of '\r' if next
+       character is '\n'.
+
+2019-01-06  Tom Tromey  <tom@tromey.com>
+
+       * c-exp.y (struct c_parse_state) <macro_original_text,
+       expansion_obstack>: New member.
+       (macro_original_text, expansion_obstack): Remove globals.
+       (scan_macro_expansion, scanning_macro_expansion)
+       (finished_macro_expansion): Update.
+       (scan_macro_cleanup): Remove.
+       (yylex, c_parse): Update.
+
+2019-01-06  Tom Tromey  <tom@tromey.com>
+
+       * c-exp.y (struct c_parse_state) <strings>: New member.
+       (operator_stoken): Update.
+
+2019-01-06  Tom Tromey  <tom@tromey.com>
+
+       * parser-defs.h (type_ptr): Remove typedef.  Don't declare VEC.
+       (union type_stack_elt) <typelist_val>: Now a pointer to
+       std::vector.
+       (type_stack_cleanup): Don't declare.
+       (push_typelist): Update.
+       * parse.c (pop_typelist): Return a std::vector.
+       (push_typelist): Take a std::vector.
+       (follow_types): Update.  Do not free args.
+       (type_stack_cleanup): Remove.
+       * c-exp.y (struct c_parse_state): New.
+       (cpstate): New global.
+       (type_aggregate_p, exp, ptr_operator, parameter_typelist)
+       (nonempty_typelist): Update.
+       (func_mod): Create a new vector.
+       (c_parse): Create a c_parse_state.
+       (check_parameter_typelist): Do not delete params.
+       (function_method): Update.  Do not delete type_list.
+
+2019-01-06  Tom Tromey  <tom@tromey.com>
+
+       PR gdb/28155:
+       * python/py-finishbreakpoint.c (bpfinishpy_init): Use
+       check_typedef.
+       * infcmd.c (finish_command_fsm_should_stop): Use check_typedef.
+       (print_return_value): Likewise.
+
+2019-01-05  Tom Tromey  <tom@tromey.com>
+
+       * contrib/cleanup_check.py: Remove.
+       * contrib/gcc-with-excheck: Remove.
+       * contrib/exsummary.py: Remove.
+       * contrib/excheck.py: Remove.
+
+2019-01-05  Joel Brobecker  <brobecker@adacore.com>
+
+       * thread.c (delete_thread_1): Add gdb_assert that THR is not
+       NULL. Initialize tpprev to NULL instead of assigning it
+       to NULL on the next statement.
+       * windows-nat.c (windows_delete_thread): Remove check for
+       main_thread_id before printing thread exit notifications.
+       (get_windows_debug_event) <EXIT_THREAD_DEBUG_EVENT>:
+       Remove thread ID check against main_thread_id.
+       <CREATE_PROCESS_DEBUG_EVENT>: Remove call to
+       windows_delete_thread.
+       <EXIT_PROCESS_DEBUG_EVENT>: Add call to windows_delete_thread.
+
+2019-01-04  Tom Tromey  <tom@tromey.com>
+
+       * compile/compile.c (_initialize_compile): Use upper case for
+       metasyntactic variables.
+       * symmisc.c (_initialize_symmisc): Use upper case for
+       metasyntactic variables.
+       * psymtab.c (_initialize_psymtab): Use upper case for
+       metasyntactic variables.
+       * demangle.c (demangle_command): Use upper case for metasyntactic
+       variables.
+       (_initialize_demangler): Likewise.
+       * ax-gdb.c (_initialize_ax_gdb): Use upper case for metasyntactic
+       variables.
+
+2019-01-03  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-source.c (tui_set_source_content): Use xstrdup.
+
+2019-01-03  Tom Tromey  <tom@tromey.com>
+
+       * python/py-symtab.c (salpy_str): Update.
+       (struct salpy_sal_object) <symtab>: Now a PyObject.
+       (salpy_dealloc): Update.
+       (del_objfile_sal): Use gdbpy_ref.
+
+2019-01-03  Tom Tromey  <tom@tromey.com>
+
+       * python/py-type.c (convert_field): Use new_reference.  Return
+       gdbpy_ref.
+       (make_fielditem): Return gdbpy_ref.
+       (typy_fields): Update.
+       (typy_getitem): Update.
+       (field_name): Return gdbpy_ref.  Use new_reference.
+       (typy_iterator_iternext): Update.
+
+2019-01-03  Tom Tromey  <tom@tromey.com>
+
+       * python/py-record.c (gdbpy_stop_recording): Use Py_RETURN_NONE.
+
+2019-01-03  Tom Tromey  <tom@tromey.com>
+
+       * python/py-value.c (valpy_dealloc): Use Py_XDECREF.
+       * python/py-type.c (typy_fields_items): Use gdbpy_ref.
+       * python/py-progspace.c (pspy_set_printers): Use gdbpy_ref.
+       (pspy_set_frame_filters, pspy_set_frame_unwinders)
+       (pspy_set_type_printers): Likewise.
+       * python/py-function.c (fnpy_init): Use gdbpy_ref.
+       * python/py-cmd.c (cmdpy_init): Use gdbpy_ref.
+       * python/py-objfile.c (objfpy_set_printers): Use gdbpy_ref.
+       (objfpy_set_frame_filters, objfpy_set_frame_unwinders)
+       (objfpy_set_type_printers): Likewise.
+
+2019-01-03  Tom Tromey  <tom@tromey.com>
+
+       * python/python.c (gdbpy_enter, ~gdbpy_enter): Update.
+       (gdbpy_print_stack): Use gdbpy_err_fetch.
+       * python/python-internal.h (class gdbpy_err_fetch): New class.
+       (class gdbpy_enter) <m_error_type, m_error_value,
+       m_error_traceback>: Remove.
+       <m_error>: New member.
+       (gdbpy_exception_to_string): Don't declare.
+       * python/py-varobj.c (py_varobj_iter_next): Use gdbpy_err_fetch.
+       * python/py-value.c (convert_value_from_python): Use
+       gdbpy_err_fetch.
+       * python/py-utils.c (gdbpy_err_fetch::to_string): Rename from
+       gdbpy_exception_to_string.
+       (gdbpy_handle_exception): Use gdbpy_err_fetch.
+       * python/py-prettyprint.c (print_stack_unless_memory_error): Use
+       gdbpy_err_fetch.
+
+2019-01-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * linux-nat.c (delete_lwp_cleanup): Delete.
+       (struct lwp_deleter): New struct.
+       (lwp_info_up): New typedef.
+       (linux_nat_target::follow_fork): Delete cleanup, and make use of
+       lwp_info_up.
+
+2019-01-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * linux-fork.c (class scoped_switch_fork_info): New class.
+       (inferior_call_waitpid): Update to use scoped_switch_fork_info.
+
 2019-01-03  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * valops.c (find_overload_match): Remove use of null_cleanup, and