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