gdb/23712: Cleanup/Remove temporary dictionary functions
[external/binutils.git] / gdb / ChangeLog
1 2019-01-10  Keith Seitz  <keiths@redhat.com>
2
3         PR gdb/23712
4         PR symtab/23010
5         * dictionary.c (pending_to_vector): Remove.
6         (dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
7         Remove _1 suffix, replacing functions of the same name.  Update
8         all callers.
9         (dict_create_hashed, dict_create_hashed_expandable)
10         (dict_create_linear, dict_create_linear_expandable, dict_free)
11         (dict_add_symbol, dict_add_pending, dict_size, dict_empty):
12         Make functions static.
13
14 2019-01-10  Keith Seitz  <keiths@redhat.com>
15
16         PR gdb/23712
17         PR symtab/23010
18         * dictionary.h (struct dictionary): Replace declaration with
19         multidictionary.
20         (dict_create_hashed, dict_create_hashed_expandable)
21         (dict_create_linear, dict_create_linear_expandable)
22         (dict_free, dict_add_symbol, dict_add_pending, dict_empty)
23         (dict_iterator_first, dict_iterator_next, dict_iter_match_first)
24         (dict_iter_match_next, dict_size): Rename to "mdict_" versions
25         taking multidictionary argument.
26         [ALL_DICT_SYMBOLS]: Update for multidictionary.
27         * block.h (struct block) <dict>: Change to multidictionary
28         and rename `multidict'.
29         * block.c, buildsym.c, jit.c, mdebugread.c, objfiles.c,
30         symmisc.c: Update all dictionary references to multidictionary.
31
32 2019-01-10  Keith Seitz  <keiths@redhat.com>
33
34         PR gdb/23712
35         PR symtab/23010
36         * dictionary.c: Include unordered_map.
37         (pending_to_vector): New function.
38         (dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
39         Rewrite the non-"_1" functions to take vector instead
40         of linked list.
41         (dict_create_hashed, dict_create_linear, dict_add_pending): Use the
42         "new" _1 versions of the same name.
43         (multidictionary): Define.
44         (std::hash<enum language): New definition.
45         (collate_pending_symbols_by_language, mdict_create_hashed)
46         (mdict_create_hashed_expandable, mdict_create_linear)
47         (mdict_create_linear_expandable, mdict_free)
48         (find_language_dictionary, create_new_language_dictionary)
49         (mdict_add_symbol, mdict_add_pending, mdict_iterator_first)
50         (mdict_iterator_next, mdict_iter_match_first, mdict_iter_match_next)
51         (mdict_size, mdict_empty): New functions.
52         * dictionary.h (mdict_iterator): Define.
53
54 2019-01-10  Pedro Alves  <palves@redhat.com>
55
56         * breakpoint.c (read_uploaded_action)
57         (create_tracepoint_from_upload): Adjust to use
58         gdb::unique_xmalloc_ptr.
59         * ctf.c (ctf_write_uploaded_tp):
60         (SET_ARRAY_FIELD): Use emplace_back.
61         (SET_STRING_FIELD): Adjust to use gdb::unique_xmalloc_ptr.
62         * tracefile-tfile.c (tfile_write_uploaded_tp):
63         * tracepoint.c (parse_tracepoint_definition): Adjust to use
64         gdb::unique_xmalloc_ptr.
65         * tracepoint.h (struct uploaded_tp) <cond, actions, step_actions,
66         at_string, cond_string, cmd_strings>: Replace char pointers
67         with gdb::unique_xmalloc_ptr.
68
69 2019-01-10  Pedro Alves  <palves@redhat.com>
70
71         * solib-target.c (library_list_start_library): Don't xstrdup name.
72
73 2019-01-10  Pedro Alves  <palves@redhat.com>
74
75         * mdebugread.c (parse_partial_symbols): Use
76         gdb::unique_xmalloc_ptr to manage heap-allocated 'stabsstring'.
77
78 2019-01-10  Andrew Burgess  <andrew.burgess@embecosm.com>
79
80         * linux-fork.c (scoped_switch_fork_info)
81         <~scoped_switch_fork_info>: Fix incorrect variable name.
82
83 2019-01-10  Andrew Burgess  <andrew.burgess@embecosm.com>
84
85         * linux-fork.c (scoped_switch_fork_info)
86         <scoped_switch_fork_info>: Make explicit.
87         <~scoped_switch_fork_info>: Wrap core in TRY/CATCH.
88
89 2019-01-10  Tom Tromey  <tom@tromey.com>
90
91         * objfiles.h (objfile::reset_psymtabs): Update.
92         * objfiles.c (objfile::objfile): Update.
93         * psymtab.h (psymtab_storage::obstack): Update.
94         (psymtab_storage::m_obstack): Use gdb::optional.
95         (class psymtab_storage): Update comment.  Remove objfile
96         parameter.
97         * psymtab.c (psymtab_storage::psymtab_storage): Update.
98
99 2019-01-10  Tom Tromey  <tom@tromey.com>
100
101         * psymtab.h (psymtab_storage::allocate_psymtab): New method.
102         <free_psymtabs>: Now private.
103         * psymtab.c (psymtab_storage::allocate_psymtab): Implement.
104         (allocate_psymtab): Use new method.
105
106 2019-01-10  Tom Tromey  <tom@tromey.com>
107
108         * xcoffread.c (xcoff_end_psymtab): Use allocate_dependencies.
109         * psymtab.h (psymtab_storage::allocate_dependencies): New method.
110         * mdebugread.c (parse_partial_symbols): Use
111         allocate_dependencies.
112         * dwarf2read.c (dwarf2_create_include_psymtab): Use
113         allocate_dependencies.
114         (process_psymtab_comp_unit_reader)
115         (build_type_psymtab_dependencies): Likewise.
116         * dbxread.c (dbx_end_psymtab): Use allocate_dependencies.
117
118 2019-01-10  Tom Tromey  <tom@tromey.com>
119
120         * psymtab.c (add_psymbol_to_bcache): Pass psymtab obstack to
121         PSYMBOL_SET_LANGUAGE.
122         (allocate_psymtab): Allocate psymtab on the psymtab obstack.
123
124 2019-01-10  Tom Tromey  <tom@tromey.com>
125
126         * psymtab.h (psymtab_storage::obstack): New method.
127         <m_obstack>: Rename from obstack; now private.
128         * psymtab.c (psymtab_storage): Update.
129         * dwarf2read.c (create_addrmap_from_index)
130         (create_addrmap_from_aranges, dwarf2_build_psymtabs_hard):
131         Update.
132
133 2019-01-10  Tom Tromey  <tom@tromey.com>
134
135         * symfile.c (reread_symbols): Call objfile->reset_psymtabs.
136         * objfiles.h (objfile::reset_psymtabs): New method.
137
138 2019-01-10  Tom Tromey  <tom@tromey.com>
139
140         * symmisc.c (print_symbol_bcache_statistics): Update.
141         (print_objfile_statistics): Update.
142         * symfile.c (reread_symbols): Update.
143         * psymtab.h (class psymtab_storage): New.
144         * psymtab.c (psymtab_storage): New constructor.
145         (~psymtab_storage): New destructor.
146         (require_partial_symbols): Update.
147         (ALL_OBJFILE_PSYMTABS_REQUIRED): Rewrite.
148         (find_pc_sect_psymtab, find_pc_sect_psymbol)
149         (match_partial_symbol, lookup_partial_symbol, dump_psymtab)
150         (psym_dump, recursively_search_psymtabs, psym_has_symbols)
151         (psym_find_compunit_symtab_by_address, sort_pst_symbols)
152         (start_psymtab_common, end_psymtab_common)
153         (add_psymbol_to_bcache, add_psymbol_to_list, init_psymbol_list)
154         (allocate_psymtab): Update.
155         (psymtab_storage::discard_psymtab): Rename from discard_psymtab.
156         Update.
157         (dump_psymtab_addrmap, maintenance_print_psymbols)
158         (maintenance_check_psymtabs): Update.
159         (class objfile_psymtabs): Move to objfiles.h.
160         * psympriv.h (discard_psymtab): Now inline.
161         (psymtab_discarder::psymtab_discarder): Update.
162         (psymtab_discarder::~psymtab_discarder): Update.
163         (ALL_OBJFILE_PSYMTABS): Rewrite.
164         * objfiles.h (struct objfile) <psymtabs, psymtabs_addrmap,
165         free_psymtabs, psymbol_cache, global_psymbols, static_psymbols>:
166         Remove fields.
167         <partial_symtabs>: New field.
168         (class objfile_psymtabs): Move from psymtab.h.  Update.
169         * objfiles.c (objfile::objfile): Initialize partial_symtabs, not
170         psymbol_cache.
171         (objfile::~objfile): Don't destroy psymbol_cache.
172         * mdebugread.c (parse_partial_symbols): Update.
173         * dwarf2read.c (create_addrmap_from_index)
174         (create_addrmap_from_aranges, dw2_find_pc_sect_compunit_symtab)
175         (process_psymtab_comp_unit_reader, dwarf2_build_psymtabs_hard)
176         (add_partial_subprogram, dwarf2_ranges_read): Update.
177         * dwarf-index-write.c (write_address_map)
178         (write_one_signatured_type, recursively_write_psymbols)
179         (class debug_names, class debug_names, write_psymtabs_to_index):
180         Update.
181
182 2019-01-10  Tom Tromey  <tom@tromey.com>
183
184         * symtab.h (SYMBOL_SET_NAMES): Update.
185         (symbol_set_names): Update.
186         (MSYMBOL_SET_NAMES): Update.
187         * symtab.c (symbol_set_names): Change argument to be an
188         objfile_per_bfd_storage.
189         * psymtab.c (add_psymbol_to_bcache): Update.
190         * psympriv.h (PSYMBOL_SET_NAMES): Take per_bfd argument.
191
192 2019-01-10  Tom Tromey  <tom@tromey.com>
193
194         * symtab.c (create_demangled_names_hash): Change argument to be an
195         objfile_per_bfd_storage.
196         (symbol_set_names): Update.
197
198 2019-01-10  Tom Tromey  <tom@tromey.com>
199
200         * xcoffread.c (xcoff_initial_scan): Unconditionally call
201         init_psymbol_list.
202         * psymtab.c (init_psymbol_list): Do nothing if already called.
203         * psympriv.h (init_psymbol_list): Add comment.
204         * dwarf2read.c (dwarf2_build_psymtabs): Unconditionally call
205         init_psymbol_list.
206         * dbxread.c (dbx_symfile_read): Unconditionally call
207         init_psymbol_list.
208
209 2019-01-10  Tom Tromey  <tom@tromey.com>
210
211         * xcoffread.c (scan_xcoff_symtab): Update.
212         * psymtab.c (add_psymbol_to_list): Replace "list" parameter with
213         "where".
214         * mdebugread.c (parse_partial_symbols)
215         (handle_psymbol_enumerators): Update.
216         * dwarf2read.c (add_partial_symbol, load_partial_dies): Update.
217         * dbxread.c (read_dbx_symtab): Update.
218         * psympriv.h (psymbol_placement): New enum.
219         (add_psymbol_to_list): Update.
220
221 2019-01-10  Tom Tromey  <tom@tromey.com>
222
223         * xcoffread.c (xcoff_start_psymtab): Remove global_psymbols and
224         static_psymbols parameters.
225         (scan_xcoff_symtab): Update.
226         * psymtab.c (start_psymtab_common): Remove global_psymbols and
227         static_psymbols parameters.
228         * psympriv.h (start_psymtab_common): Update.
229         * mdebugread.c (parse_partial_symbols): Update.
230         * dwarf2read.c (create_partial_symtab): Update.
231         * dbxread.c (read_dbx_symtab): Update.
232         (start_psymtab): Remove global_psymbols and static_psymbols
233         parameters.
234
235 2019-01-10  Tom Tromey  <tom@tromey.com>
236
237         * xcoffread.c (xcoff_end_psymtab): Remove some initializations.
238         * psymtab.c (allocate_psymtab): Add comment.
239         * psympriv.h (allocate_psymtab): Add comment.
240         * dwarf2read.c (dwarf2_create_include_psymtab): Remove some
241         initializations.
242         * dbxread.c (dbx_end_psymtab): Remove some initializations.
243
244 2019-01-10  Tom Tromey  <tom@tromey.com>
245
246         * symfile.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs):
247         Don't declare.
248         * mipsread.c: Include mdebugread.h.
249         * mdebugread.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs):
250         Declare.
251         * elfread.c: Include mdebugread.h.
252
253 2019-01-09  Tom Tromey  <tom@tromey.com>
254
255         * dbxread.c (dbx_end_psymtab): Use objfile_psymtabs.
256         * mdebugread.c (parse_partial_symbols): Use objfile_psymtabs.
257         * psymtab.c (ALL_OBJFILE_PSYMTABS_REQUIRED): Remove.
258         (psym_map_symtabs_matching_filename, find_pc_sect_psymtab)
259         (psym_lookup_symbol, psym_find_last_source_symtab)
260         (psym_forget_cached_source_info, psym_print_stats)
261         (psym_expand_symtabs_for_function, psym_expand_all_symtabs)
262         (psym_expand_symtabs_with_fullname, psym_map_symbol_filenames)
263         (psym_map_matching_symbols, psym_expand_symtabs_matching)
264         (psym_find_compunit_symtab_by_address)
265         (maintenance_print_psymbols, maintenance_info_psymtabs)
266         (maintenance_check_psymtabs): Use ranged for.
267         * psymtab.h (class objfile_psymtabs): New.
268         (require_partial_symbols): Return objfile_psymtabs.
269         * psympriv.h (ALL_OBJFILE_PSYMTABS): Remove.
270
271 2019-01-09  Tom Tromey  <tom@tromey.com>
272
273         * symfile.c (overlay_invalidate_all, find_pc_overlay)
274         (find_pc_mapped_section, list_overlays_command)
275         (map_overlay_command, unmap_overlay_command)
276         (simple_overlay_update): Use all_objfiles.
277         * spu-tdep.c (spu_overlay_update): Use all_objfiles.
278         * printcmd.c (info_symbol_command): Use all_objfiles.
279         * objfiles.h (ALL_OBJSECTIONS): Remove.
280         * maint.c (maintenance_translate_address): Use all_objfiles.
281         * gcore.c (gcore_create_callback): Use all_objfiles.
282         (objfile_find_memory_regions): Likewise.
283
284 2019-01-09  Tom Tromey  <tom@tromey.com>
285
286         * symtab.c (find_line_symtab, info_sources_command)
287         (make_source_files_completion_list): Use objfile_compunits.
288         * source.c (select_source_symtab): Use objfile_compunits.
289         * objfiles.h (struct objfile): Update comment.
290         (ALL_OBJFILES): Remove.
291         (ALL_FILETABS): Remove.
292         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Use
293         objfile_compunits.
294
295 2019-01-09  Tom Tromey  <tom@tromey.com>
296
297         * symmisc.c (print_objfile_statistics, dump_objfile)
298         (maintenance_print_symbols): Use compunit_filetabs.
299         * source.c (forget_cached_source_info_for_objfile): Use
300         compunit_filetabs.
301         * objfiles.h (ALL_OBJFILE_FILETABS): Remove.
302         (ALL_FILETABS): Use compunit_filetabs.
303         * objfiles.c (objfile_relocate1): Use compunit_filetabs.
304         * coffread.c (coff_symtab_read): Use compunit_filetabs.
305
306 2019-01-09  Tom Tromey  <tom@tromey.com>
307
308         * symtab.h (ALL_COMPUNIT_FILETABS): Remove.
309         (compunit_filetabs): New.
310         * symtab.c (iterate_over_some_symtabs, find_pc_sect_line): Use
311         compunit_filetabs.
312         (info_sources_command, make_source_files_completion_list): Remove
313         declaration.
314         * symmisc.c (print_objfile_statistics, dump_objfile)
315         (maintenance_print_symbols): Remove declaration.
316         (maintenance_info_symtabs): Use compunit_filetabs.
317         (maintenance_info_line_tables): Likewise.
318         * source.c (select_source_symtab): Change local variable name.
319         (forget_cached_source_info_for_objfile): Remove declaration.
320         * objfiles.h (ALL_OBJFILE_FILETABS): Use compunit_filetabs.
321         * objfiles.c (objfile_relocate1): Remove declaration.
322         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
323         declaration.
324         * maint.c (count_symtabs_and_blocks): Use compunit_filetabs.
325         * coffread.c (coff_symtab_read): Remove declaration.
326         * buildsym.c (buildsym_compunit::end_symtab_with_blockvector): Use
327         compunit_filetabs.
328
329 2019-01-09  Tom Tromey  <tom@tromey.com>
330
331         * symtab.c (lookup_objfile_from_block)
332         (find_pc_sect_compunit_symtab, search_symbols)
333         (default_collect_symbol_completion_matches_break_on): Use
334         objfile_compunits.
335         * objfiles.h (ALL_COMPUNITS): Remove.
336         * maint.c (count_symtabs_and_blocks): Use objfile_compunits.
337         * cp-support.c (add_symbol_overload_list_qualified): Use
338         objfile_compunits.
339         * ada-lang.c (ada_collect_symbol_completion_matches)
340         (ada_add_global_exceptions): Use objfile_compunits.
341
342 2019-01-09  Tom Tromey  <tom@tromey.com>
343
344         * source.c (select_source_symtab)
345         (forget_cached_source_info_for_objfile): Remove declaration.
346         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
347         declaration.
348         * maint.c (count_symtabs_and_blocks): Remove declaration.
349         * cp-support.c (add_symbol_overload_list_qualified): Remove
350         declaration.
351         * coffread.c (coff_symtab_read): Remove declaration.
352         * symtab.c (lookup_symbol_in_objfile_symtabs)
353         (basic_lookup_transparent_type_1): Use objfile_compunits.
354         (lookup_objfile_from_block, find_pc_sect_compunit_symtab)
355         (info_sources_command, search_symbols)
356         (default_collect_symbol_completion_matches_break_on)
357         (make_source_files_completion_list): Remove declaration.
358         * ada-lang.c (add_nonlocal_symbols): Use objfile_compunits.
359         (ada_collect_symbol_completion_matches)
360         (ada_add_global_exceptions): Remove declaration.
361         * linespec.c (iterate_over_all_matching_symtabs): Use
362         objfile_compunits.
363         * objfiles.h (ALL_OBJFILE_COMPUNITS): Remove.
364         (class objfile_compunits): New.
365         (ALL_COMPUNITS): Use objfile_compunits.
366         * symmisc.c (print_objfile_statistics, maintenance_info_symtabs)
367         (maintenance_check_symtabs, maintenance_info_line_tables): Use
368         objfile_compunits.
369         * objfiles.c (objfile_relocate1): Use objfile_compunits.
370
371 2019-01-09  Tom Tromey  <tom@tromey.com>
372
373         * symtab.c (search_symbols)
374         (default_collect_symbol_completion_matches_break_on): Use
375         objfile_msymbols.
376         * ada-lang.c (ada_lookup_simple_minsym)
377         (ada_collect_symbol_completion_matches): Use objfile_msymbols.
378         * minsyms.c (find_solib_trampoline_target): Use objfile_msymbols.
379         * hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Use
380         objfile_msymbols.
381         * coffread.c (coff_symfile_read): Use objfile_msymbols.
382         * symmisc.c (dump_msymbols): Use objfile_msymbols.
383         * objc-lang.c (find_methods): Use objfile_msymbols.
384         (info_selectors_command, info_classes_command): Likewise.
385         * stabsread.c (scan_file_globals): Use objfile_msymbols.
386         * objfiles.h (class objfile_msymbols): New.
387         (ALL_OBJFILE_MSYMBOLS): Remove.
388         (ALL_MSYMBOLS): Remove.
389
390 2019-01-09  Tom Tromey  <tom@tromey.com>
391
392         * common/next-iterator.h (next_adapter): Add Iterator template
393         parameter.
394         * objfiles.h (ALL_OBJFILES_SAFE): Remove.
395         (class all_objfiles_safe): New.
396         * jit.c (jit_inferior_exit_hook): Use all_objfiles_safe.
397         * objfiles.c (put_objfile_before): Update comment.
398         (add_separate_debug_objfile): Likewise.
399         (free_all_objfiles): Use all_objfiles_safe.
400         (objfile_purge_solibs): Likewise.
401
402 2019-01-09  Tom Tromey  <tom@tromey.com>
403
404         * symtab.c (iterate_over_symtabs, matching_obj_sections)
405         (expand_symtab_containing_pc, lookup_static_symbol)
406         (basic_lookup_transparent_type, find_pc_sect_compunit_symtab)
407         (find_symbol_at_address, find_line_symtab, find_main_name): Use
408         all_objfiles.
409         * probe.c (find_probe_by_pc, collect_probes): Use all_objfiles.
410         * breakpoint.c (create_overlay_event_breakpoint)
411         (create_longjmp_master_breakpoint)
412         (create_std_terminate_master_breakpoint)
413         (create_exception_master_breakpoint): Use all_objfiles.
414         * linux-thread-db.c (try_thread_db_load_from_pdir)
415         (has_libpthread): Use all_objfiles.
416         * ada-lang.c (add_nonlocal_symbols): Use all_objfiles.
417         * linespec.c (iterate_over_all_matching_symtabs)
418         (search_minsyms_for_name): Use all_objfiles.
419         * maint.c (maintenance_info_sections): Use all_objfiles.
420         * main.c (captured_main_1): Use all_objfiles.
421         * spu-tdep.c (spu_objfile_from_frame): Use all_objfiles.
422         * guile/scm-objfile.c (gdbscm_objfiles): Use all_objfiles.
423         * guile/scm-pretty-print.c
424         (ppscm_find_pretty_printer_from_objfiles): Use all_objfiles.
425         * solib-spu.c (append_ocl_sos): Use all_objfiles.
426         * symmisc.c (maintenance_print_symbols): Use all_objfiles.
427         (maintenance_print_msymbols): Use all_objfiles.
428         * source.c (select_source_symtab): Use all_objfiles.
429         * jit.c (jit_find_objf_with_entry_addr): Use all_objfiles.
430         * symfile.c (remove_symbol_file_command)
431         (expand_symtabs_matching, map_symbol_filenames): Use
432         all_objfiles.
433         * ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Use
434         all_objfiles.
435         * dwarf2-frame.c (dwarf2_frame_find_fde): Use all_objfiles.
436         * objc-lang.c (find_methods): Use all_objfiles.
437         * objfiles.c (have_partial_symbols, have_full_symbols)
438         (have_minimal_symbols, qsort_cmp)
439         (default_iterate_over_objfiles_in_search_order): Use
440         all_objfiles.
441         * hppa-tdep.c (find_unwind_entry): Use all_objfiles.
442         * psymtab.c (maintenance_print_psymbols): Use all_objfiles.
443         (maintenance_check_psymtabs): Use all_objfiles.
444         (ALL_PSYMTABS): Remove.
445         * compile/compile-object-run.c (do_module_cleanup): Use
446         all_objfiles.
447         * blockframe.c (find_pc_partial_function): Use all_objfiles.
448         * cp-support.c (add_symbol_overload_list_qualified): Use
449         all_objfiles.
450         * windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
451         Use all_objfiles.
452         * dwarf-index-write.c (save_gdb_index_command): Use all_objfiles.
453         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Use
454         all_objfiles.
455         * python/py-objfile.c (objfpy_lookup_objfile_by_name)
456         (objfpy_lookup_objfile_by_build_id): Use all_objfiles.
457         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
458         Uses all_objfiles.
459         * solib.c (solib_read_symbols): Use all_objfiles
460
461 2019-01-09  Tom Tromey  <tom@tromey.com>
462
463         * probe.c (parse_probes_in_pspace): Use all_objfiles.
464         * guile/scm-progspace.c (gdbscm_progspace_objfiles): Use
465         all_objfiles.
466         * objfiles.h (ALL_PSPACE_OBJFILES): Remove.
467         * symmisc.c (print_symbol_bcache_statistics)
468         (print_objfile_statistics, maintenance_print_objfiles)
469         (maintenance_info_symtabs, maintenance_check_symtabs)
470         (maintenance_expand_symtabs, maintenance_info_line_tables): Use
471         all_objfiles.
472         * source.c (forget_cached_source_info): Use all_objfiles.
473         * symfile-debug.c (set_debug_symfile): Use all_objfiles.
474         * elfread.c (elf_gnu_ifunc_resolve_by_cache)
475         (elf_gnu_ifunc_resolve_by_got): Use all_objfiles.
476         * objfiles.c (update_section_map): Use all_objfiles.
477         (shared_objfile_contains_address_p): Likewise.
478         * psymtab.c (maintenance_info_psymtabs): Use all_objfiles.
479         * python/py-progspace.c (pspy_get_objfiles): Use all_objfiles.
480
481 2019-01-09  Tom Tromey  <tom@tromey.com>
482
483         * common/next-iterator.h: New file.
484         * objfiles.h (class all_objfiles): New.
485         (struct objfile_iterator): New.
486
487 2019-01-09  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
488
489         * NEWS: Move the description of the changed "frame", "select-frame",
490          and "info frame" commands to the Changed commands section.
491
492 2019-01-09  Simon Marchi  <simon.marchi@ericsson.com>
493
494         * gdbtypes.c (check_stub_method_group): Remove handling of old
495         mangling schemes.
496         * linespec.c (find_methods): Likewise.
497         * stabsread.c (read_member_functions): Likewise.
498         * valops.c (search_struct_method): Likewise.
499         (value_struct_elt_for_reference): Likewise.
500         * NEWS: Mention this change.
501
502 2019-01-09  Andrew Burgess  <andrew.burgess@embecosm.com>
503
504         * cli/cli-cmds.c (list_command): Pass a source_lines_range to
505         print_source_lines.
506         * source.c (print_source_lines_base): Update line number check.
507         (print_source_lines): New function.
508         (source_lines_range::source_lines_range): New function.
509         * source.h (class source_lines_range): New class.
510         (print_source_lines): New declaration.
511
512 2019-01-09  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
513
514         * linespec.c (linespec_state_destructor): Free self->canonical_names.
515
516 2019-01-08  Tom Tromey  <tom@tromey.com>
517             Simon Marchi  <simon.marchi@ericsson.com>
518
519         PR gdb/24060
520         * ada-exp.y (DOLLAR_VARIABLE): Rename from SPECIAL_VARIABLE.
521         * ada-lex.l (DOLLAR_VARIABLE): Likewise.
522         * c-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
523         * f-exp.y (DOLLAR_VARIABLE): Likewise.
524         * m2-exp.y (DOLLAR_VARIABLE): Rename from INTERNAL_VAR.
525         * p-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
526
527 2019-01-08  Andrew Burgess  <andrew.burgess@embecosm.com>
528
529         * source.c (select_source_symtab): Move header comment to
530         declaration in source.h.
531         (forget_cached_source_info_for_objfile): Likewise.
532         (forget_cached_source_info): Likewise.
533         (identify_source_line): Likewise.
534         * source.h (identify_source_line): Move declaration from symtab.h
535         and add comment from source.c
536         (print_source_lines): Likewise.
537         (forget_cached_source_info_for_objfile): Likewise.
538         (forget_cached_source_info): Likewise.
539         (select_source_symtab): Likewise.
540         (enum print_source_lines_flag): Move definition from symtab.h.
541         * symtab.h (identify_source_line): Move declaration to source.h.
542         (print_source_lines): Likewise.
543         (forget_cached_source_info_for_objfile): Likewise.
544         (forget_cached_source_info): Likewise.
545         (select_source_symtab): Likewise.
546         (enum print_source_lines_flag): Move definition to source.h.
547         * tui/tui-hooks.c: Add 'source.h' include.
548
549 2019-01-08  Andrew Burgess  <andrew.burgess@embecosm.com>
550
551         * source.c (print_source_lines_base): Handle requests to print
552         reverse line number sequences, and guard against empty lines
553         string.
554
555 2019-01-08  Andrew Burgess  <andrew.burgess@embecosm.com>
556
557         * source.c (print_source_lines_base): Fix skip of '\r' if next
558         character is '\n'.
559
560 2019-01-06  Tom Tromey  <tom@tromey.com>
561
562         * c-exp.y (struct c_parse_state) <macro_original_text,
563         expansion_obstack>: New member.
564         (macro_original_text, expansion_obstack): Remove globals.
565         (scan_macro_expansion, scanning_macro_expansion)
566         (finished_macro_expansion): Update.
567         (scan_macro_cleanup): Remove.
568         (yylex, c_parse): Update.
569
570 2019-01-06  Tom Tromey  <tom@tromey.com>
571
572         * c-exp.y (struct c_parse_state) <strings>: New member.
573         (operator_stoken): Update.
574
575 2019-01-06  Tom Tromey  <tom@tromey.com>
576
577         * parser-defs.h (type_ptr): Remove typedef.  Don't declare VEC.
578         (union type_stack_elt) <typelist_val>: Now a pointer to
579         std::vector.
580         (type_stack_cleanup): Don't declare.
581         (push_typelist): Update.
582         * parse.c (pop_typelist): Return a std::vector.
583         (push_typelist): Take a std::vector.
584         (follow_types): Update.  Do not free args.
585         (type_stack_cleanup): Remove.
586         * c-exp.y (struct c_parse_state): New.
587         (cpstate): New global.
588         (type_aggregate_p, exp, ptr_operator, parameter_typelist)
589         (nonempty_typelist): Update.
590         (func_mod): Create a new vector.
591         (c_parse): Create a c_parse_state.
592         (check_parameter_typelist): Do not delete params.
593         (function_method): Update.  Do not delete type_list.
594
595 2019-01-06  Tom Tromey  <tom@tromey.com>
596
597         PR gdb/28155:
598         * python/py-finishbreakpoint.c (bpfinishpy_init): Use
599         check_typedef.
600         * infcmd.c (finish_command_fsm_should_stop): Use check_typedef.
601         (print_return_value): Likewise.
602
603 2019-01-05  Tom Tromey  <tom@tromey.com>
604
605         * contrib/cleanup_check.py: Remove.
606         * contrib/gcc-with-excheck: Remove.
607         * contrib/exsummary.py: Remove.
608         * contrib/excheck.py: Remove.
609
610 2019-01-05  Joel Brobecker  <brobecker@adacore.com>
611
612         * thread.c (delete_thread_1): Add gdb_assert that THR is not
613         NULL. Initialize tpprev to NULL instead of assigning it
614         to NULL on the next statement.
615         * windows-nat.c (windows_delete_thread): Remove check for
616         main_thread_id before printing thread exit notifications.
617         (get_windows_debug_event) <EXIT_THREAD_DEBUG_EVENT>:
618         Remove thread ID check against main_thread_id.
619         <CREATE_PROCESS_DEBUG_EVENT>: Remove call to
620         windows_delete_thread.
621         <EXIT_PROCESS_DEBUG_EVENT>: Add call to windows_delete_thread.
622
623 2019-01-04  Tom Tromey  <tom@tromey.com>
624
625         * compile/compile.c (_initialize_compile): Use upper case for
626         metasyntactic variables.
627         * symmisc.c (_initialize_symmisc): Use upper case for
628         metasyntactic variables.
629         * psymtab.c (_initialize_psymtab): Use upper case for
630         metasyntactic variables.
631         * demangle.c (demangle_command): Use upper case for metasyntactic
632         variables.
633         (_initialize_demangler): Likewise.
634         * ax-gdb.c (_initialize_ax_gdb): Use upper case for metasyntactic
635         variables.
636
637 2019-01-03  Tom Tromey  <tom@tromey.com>
638
639         * tui/tui-source.c (tui_set_source_content): Use xstrdup.
640
641 2019-01-03  Tom Tromey  <tom@tromey.com>
642
643         * python/py-symtab.c (salpy_str): Update.
644         (struct salpy_sal_object) <symtab>: Now a PyObject.
645         (salpy_dealloc): Update.
646         (del_objfile_sal): Use gdbpy_ref.
647
648 2019-01-03  Tom Tromey  <tom@tromey.com>
649
650         * python/py-type.c (convert_field): Use new_reference.  Return
651         gdbpy_ref.
652         (make_fielditem): Return gdbpy_ref.
653         (typy_fields): Update.
654         (typy_getitem): Update.
655         (field_name): Return gdbpy_ref.  Use new_reference.
656         (typy_iterator_iternext): Update.
657
658 2019-01-03  Tom Tromey  <tom@tromey.com>
659
660         * python/py-record.c (gdbpy_stop_recording): Use Py_RETURN_NONE.
661
662 2019-01-03  Tom Tromey  <tom@tromey.com>
663
664         * python/py-value.c (valpy_dealloc): Use Py_XDECREF.
665         * python/py-type.c (typy_fields_items): Use gdbpy_ref.
666         * python/py-progspace.c (pspy_set_printers): Use gdbpy_ref.
667         (pspy_set_frame_filters, pspy_set_frame_unwinders)
668         (pspy_set_type_printers): Likewise.
669         * python/py-function.c (fnpy_init): Use gdbpy_ref.
670         * python/py-cmd.c (cmdpy_init): Use gdbpy_ref.
671         * python/py-objfile.c (objfpy_set_printers): Use gdbpy_ref.
672         (objfpy_set_frame_filters, objfpy_set_frame_unwinders)
673         (objfpy_set_type_printers): Likewise.
674
675 2019-01-03  Tom Tromey  <tom@tromey.com>
676
677         * python/python.c (gdbpy_enter, ~gdbpy_enter): Update.
678         (gdbpy_print_stack): Use gdbpy_err_fetch.
679         * python/python-internal.h (class gdbpy_err_fetch): New class.
680         (class gdbpy_enter) <m_error_type, m_error_value,
681         m_error_traceback>: Remove.
682         <m_error>: New member.
683         (gdbpy_exception_to_string): Don't declare.
684         * python/py-varobj.c (py_varobj_iter_next): Use gdbpy_err_fetch.
685         * python/py-value.c (convert_value_from_python): Use
686         gdbpy_err_fetch.
687         * python/py-utils.c (gdbpy_err_fetch::to_string): Rename from
688         gdbpy_exception_to_string.
689         (gdbpy_handle_exception): Use gdbpy_err_fetch.
690         * python/py-prettyprint.c (print_stack_unless_memory_error): Use
691         gdbpy_err_fetch.
692
693 2019-01-03  Andrew Burgess  <andrew.burgess@embecosm.com>
694
695         * linux-nat.c (delete_lwp_cleanup): Delete.
696         (struct lwp_deleter): New struct.
697         (lwp_info_up): New typedef.
698         (linux_nat_target::follow_fork): Delete cleanup, and make use of
699         lwp_info_up.
700
701 2019-01-03  Andrew Burgess  <andrew.burgess@embecosm.com>
702
703         * linux-fork.c (class scoped_switch_fork_info): New class.
704         (inferior_call_waitpid): Update to use scoped_switch_fork_info.
705
706 2019-01-03  Andrew Burgess  <andrew.burgess@embecosm.com>
707
708         * valops.c (find_overload_match): Remove use of null_cleanup, and
709         calls to do_cleanups.
710
711 2019-01-03  Andrew Burgess  <andrew.burgess@embecosm.com>
712
713         * compile/compile-cplus-types.c
714         (compile_cplus_instance::decl_name): Handle changes to
715         cp_func_name.
716         * cp-support.c (cp_func_name): Update header comment, update
717         return type.
718         * cp-support.h (cp_func_name): Update return type in declaration.
719         * valops.c (find_overload_match): Move temp_func local to top
720         level of function and change its type.  Use temp_func to hold and
721         delete temporary string obtained from cp_func_name.
722
723 2019-01-03  Andrew Burgess  <andrew.burgess@embecosm.com>
724
725         * remote.c (remote_target::remote_check_symbols): Convert `msg` to
726         gdb::char_vector, remove cleanup, and update uses of `msg`.
727
728 2019-01-03  Jim Wilson  <jimw@sifive.com>
729
730         * riscv-tdep.c (riscv_freg_feature): Drop s0 name from f8.
731
732 2019-01-02  Tom Tromey  <tom@tromey.com>
733
734         * xml-tdesc.c (xml_cache): Hold a target_desc_up.
735         (tdesc_parse_xml): Remove cleanups.
736         * target-descriptions.h (make_cleanup_free_target_description):
737         Don't declare.
738         (target_desc_deleter): New struct.
739         (target_desc_up): New typedef.
740         * target-descriptions.c (target_desc_deleter::operator()): Rename
741         from free_target_description.
742         (make_cleanup_free_target_description): Remove.
743
744 2019-01-02  Tom Tromey  <tom@tromey.com>
745
746         * linespec.c (struct linespec_parser): Rename from ls_parser.  Add
747         constructor, destructor.
748         (linespec_parser): Remove typedef.
749         (~linespec_parser): Rename from linespec_parser_delete.
750         (linespec_lex_to_end, linespec_complete_label)
751         (linespec_complete): Update.
752         (decode_line_full): Remove cleanups.
753         (decode_line_1): Update.
754
755 2019-01-02  Tom Tromey  <tom@tromey.com>
756
757         * python/python-internal.h (inferior_to_inferior_object): Change
758         return type.
759         * python/py-exitedevent.c (create_exited_event_object): Update.
760         * python/py-inferior.c (inferior_to_inferior_object): Return
761         gdbpy_ref.
762         (python_new_inferior, python_inferior_deleted)
763         (thread_to_thread_object, delete_thread_object)
764         (build_inferior_list, gdbpy_selected_inferior): Update.
765         * python/py-infthread.c (create_thread_object): Update.  Also fail
766         if inferior_to_inferior_object fails.
767
768 2019-01-02  Simon Marchi  <simon.marchi@ericsson.com>
769
770         * inferior.h (class inferior) <displaced_step_state>: New field.
771         * infrun.h (struct displaced_step_state): Move here from
772         infrun.c.  Initialize fields, add constructor.
773         <inf>: Remove field.
774         <reset>: New method.
775         * infrun.c (struct displaced_step_inferior_state): Move to
776         infrun.h.
777         (displaced_step_inferior_states): Remove.
778         (get_displaced_stepping_state): Adust.
779         (displaced_step_in_progress_any_inferior): Adjust.
780         (displaced_step_in_progress_thread): Adjust.
781         (displaced_step_in_progress): Adjust.
782         (add_displaced_stepping_state): Remove.
783         (get_displaced_step_closure_by_addr): Adjust.
784         (remove_displaced_stepping_state): Remove.
785         (infrun_inferior_exit): Call displaced_step_state.reset.
786         (use_displaced_stepping): Don't check for NULL.
787         (displaced_step_prepare_throw): Call
788         get_displaced_stepping_state.
789         (displaced_step_fixup): Don't check for NULL.
790         (prepare_for_detach): Don't check for NULL.
791
792 2019-01-02  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
793
794         * infcall.c (call_function_by_hand_dummy): cleanup/destroy sm
795          in case of call that did not complete.
796
797 2019-01-02  Andrey Utkin  <autkin@undo.io>
798
799         * symfile.c (find_separate_debug_file): Fix search of debug files for
800         remote debuggee.
801
802 2019-01-02  Tom Tromey  <tom@tromey.com>
803
804         * python/py-inferior.c (gdbpy_initialize_inferior): Fix
805         indentation.
806         * python/py-frame.c (frapy_older): Remove cast.
807         (frapy_newer): Likewise.
808         * python/py-breakpoint.c (local_setattro): Remove cast.
809         * python/py-arch.c (archpy_name): Remove local variable.
810         * python/py-type.c (gdbpy_lookup_type): Remove cast.
811
812 2019-01-02  Joel Brobecker  <brobecker@adacore.com>
813
814         * unittests/basic_string_view/element_access/char/empty.cc:
815         Fix year range in copyright header.
816
817 2019-01-01  Andrew Burgess  <andrew.burgess@embecosm.com>
818
819         * arch/riscv.h (struct riscv_gdbarch_features) <hw_float_abi>:
820         Delete.
821         <operator==>: Update with for removed field.
822         <hash>: Likewise.
823         * riscv-tdep.h (struct gdbarch_tdep) <features>: Renamed to...
824         <isa_features>: ...this.
825         <abi_features>: New field.
826         (riscv_isa_flen): Update comment.
827         (riscv_abi_xlen): New declaration.
828         (riscv_abi_flen): New declaration.
829         * riscv-tdep.c (riscv_isa_xlen): Update to get answer from
830         isa_features.
831         (riscv_abi_xlen): New function.
832         (riscv_isa_flen): Update to get answer from isa_features.
833         (riscv_abi_flen): New function.
834         (riscv_has_fp_abi): Update to get answer from abi_features.
835         (riscv_call_info::riscv_call_info): Use abi xlen and flen, not isa
836         xlen and flen.
837         (riscv_call_info) <xlen, flen>: Update comment.
838         (riscv_call_arg_struct): Remove invalid assertions
839         (riscv_features_from_gdbarch_info): Update now hw_float_abi field
840         is removed.
841         (riscv_gdbarch_init): Gather isa features and abi features
842         separately, ensure both match on the gdbarch when reusing an old
843         gdbarch.  Relax an error check to allow 32-bit abi float to run on
844         a target with 64-bit float hardware.
845
846 2019-01-01  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
847
848         * source.c (search_command_helper): Stop reverse search
849         when line 1 has been searched.
850
851 2019-01-01  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
852
853         * record-full.c (record_full_base_target::close): Rewrite
854         record_full_core_buf_list free logic.
855
856 2019-01-01  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
857
858         * break-catch-syscall.c (print_one_catch_syscall): xfree
859         the last text.
860
861 2019-01-01  Joel Brobecker  <brobecker@adacore.com>
862
863         * top.c (print_gdb_version): Update Copyright year in version
864         message.
865
866 2019-01-01  Joel Brobecker  <brobecker@adacore.com>
867
868         Update copyright year range in all GDB files.
869
870 2019-01-01  Joel Brobecker  <brobecker@adacore.com>
871
872         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2018.
873
874 For older changes see ChangeLog-2018.
875 \f
876 Local Variables:
877 mode: change-log
878 left-margin: 8
879 fill-column: 74
880 version-control: never
881 coding: utf-8
882 End:
883