Change end_psymtab_common to a method

This changes end_psymtab_common to be a method on partial_symtab.
This seems a little cleaner to me.

gdb/ChangeLog
2020-11-01  Tom Tromey  <tom@tromey.com>

	* dbxread.c (dbx_end_psymtab): Update.
	* dwarf2/read.c (process_psymtab_comp_unit_reader)
	(build_type_psymtabs_reader): Update.
	* xcoffread.c (xcoff_end_psymtab): Update.
	* ctfread.c (scan_partial_symbols): Update.
	* psymtab.c (sort_pst_symbols): Remove.
	(partial_symtab::end): Rename from end_psymtab_common.  Inline
	sort_pst_symbols.
	* psympriv.h (struct partial_symtab) <end>: New method.
	(end_psymtab_common): Don't declare.
This commit is contained in:
Tom Tromey
2020-11-01 09:51:13 -07:00
parent 0684bb51b5
commit ae7754b256
7 changed files with 33 additions and 24 deletions

View File

@ -1430,19 +1430,6 @@ const struct quick_symbol_functions psym_functions =
static void
sort_pst_symbols (struct partial_symtab *pst)
{
/* Sort the global list; don't sort the static list. */
std::sort (pst->global_psymbols.begin (),
pst->global_psymbols.end (),
[] (partial_symbol *s1, partial_symbol *s2)
{
return strcmp_iw_ordered (s1->ginfo.search_name (),
s2->ginfo.search_name ()) < 0;
});
}
/* Partially fill a partial symtab. It will be completely filled at
the end of the symbol list. */
@ -1458,12 +1445,19 @@ partial_symtab::partial_symtab (const char *filename,
/* Perform "finishing up" operations of a partial symtab. */
void
end_psymtab_common (struct partial_symtab *pst)
partial_symtab::end ()
{
pst->global_psymbols.shrink_to_fit ();
pst->static_psymbols.shrink_to_fit ();
global_psymbols.shrink_to_fit ();
static_psymbols.shrink_to_fit ();
sort_pst_symbols (pst);
/* Sort the global list; don't sort the static list. */
std::sort (global_psymbols.begin (),
global_psymbols.end (),
[] (partial_symbol *s1, partial_symbol *s2)
{
return strcmp_iw_ordered (s1->ginfo.search_name (),
s2->ginfo.search_name ()) < 0;
});
}
/* See psymtab.h. */