Use new and delete for psymtabs

This changes psymtabs to be allocated with new and destroyed with
delete.  As a consequence, the psymtab free-list is also removed.

The motivation for this is to let symbol readers subclass
partial_symtab.

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

	* mdebugread.c (parse_partial_symbols): Use discard_psymtab.
	* psymtab.h (class psymtab_storage) <free_psymtabs>: Remove.
	* psymtab.c (psymtab_storage): Delete psymtabs.
	(psymtab_storage::allocate_psymtab): Use new.
	(psymtab_storage::discard_psymtab): Use delete.
	* psympriv.h (struct partial_symtab): Add constructor and
	initializers.

Change-Id: I4e78ac538fc0ea52b57489c1afb8f935a30941ef
This commit is contained in:
Tom Tromey
2019-10-16 14:06:43 -06:00
parent f6f1cebcbe
commit 6f17252b76
5 changed files with 46 additions and 40 deletions

View File

@ -3747,7 +3747,7 @@ parse_partial_symbols (minimal_symbol_reader &reader,
&& pst->number_of_dependencies == 0
&& pst->n_global_syms == 0
&& pst->n_static_syms == 0)
objfile->partial_symtabs->psymtabs = NULL;
objfile->partial_symtabs->discard_psymtab (pst);
}
/* If the current psymbol has an enumerated type, we need to add