+2020-01-26 Tom Tromey <tom@tromey.com>
+
+ * xcoffread.c (xcoff_end_psymtab): Use new.
+ * psymtab.c (start_psymtab_common): Use new.
+ (partial_symtab::partial_symtab): Rename from allocate_psymtab.
+ Update.
+ * psympriv.h (struct partial_symtab): Add parameters to
+ constructor. Don't inline.
+ (allocate_psymtab): Don't declare.
+ * mdebugread.c (new_psymtab): Use new.
+ * dwarf2read.c (dwarf2_create_include_psymtab): Use new.
+ * dbxread.c (dbx_end_psymtab): Use new.
+
2020-01-26 Tom Tromey <tom@tromey.com>
* psymtab.h (class psymtab_storage) <install_psymtab>: Rename from
for (i = 0; i < num_includes; i++)
{
struct partial_symtab *subpst =
- allocate_psymtab (include_list[i], objfile);
+ new partial_symtab (include_list[i], objfile);
subpst->read_symtab_private =
XOBNEW (&objfile->objfile_obstack, struct symloc);
dwarf2_create_include_psymtab (const char *name, struct partial_symtab *pst,
struct objfile *objfile)
{
- struct partial_symtab *subpst = allocate_psymtab (name, objfile);
+ struct partial_symtab *subpst = new partial_symtab (name, objfile);
if (!IS_ABSOLUTE_PATH (subpst->filename))
{
{
struct partial_symtab *psymtab;
- psymtab = allocate_psymtab (name, objfile);
+ psymtab = new partial_symtab (name, objfile);
/* Keep a backpointer to the file's symbols. */
struct partial_symtab
{
- partial_symtab ()
- : searched_flag (PST_NOT_SEARCHED),
- text_low_valid (0),
- text_high_valid (0)
- {
- }
+ /* Allocate a new partial symbol table associated with OBJFILE.
+ FILENAME (which must be non-NULL) is the filename of this partial
+ symbol table; it is copied into the appropriate storage. The
+ partial symtab will also be installed using
+ psymtab_storage::install. */
+
+ partial_symtab (const char *filename, struct objfile *objfile)
+ ATTRIBUTE_NONNULL (2) ATTRIBUTE_NONNULL (3);
/* Return the raw low text address of this partial_symtab. */
CORE_ADDR raw_text_low () const
extern void end_psymtab_common (struct objfile *, struct partial_symtab *);
-/* Allocate a new partial symbol table associated with OBJFILE.
- FILENAME (which must be non-NULL) is the filename of this partial
- symbol table; it is copied into the appropriate storage. A new
- partial symbol table is returned; aside from "next" and "filename",
- its fields are initialized to zero. */
-
-extern struct partial_symtab *allocate_psymtab (const char *filename,
- struct objfile *objfile)
- ATTRIBUTE_NONNULL (1);
-
static inline void
discard_psymtab (struct objfile *objfile, struct partial_symtab *pst)
{
{
struct partial_symtab *psymtab;
- psymtab = allocate_psymtab (filename, objfile);
+ psymtab = new partial_symtab (filename, objfile);
psymtab->set_text_low (textlow);
psymtab->set_text_high (psymtab->raw_text_low ()); /* default */
psymtab->globals_offset = objfile->partial_symtabs->global_psymbols.size ();
/* See psympriv.h. */
-struct partial_symtab *
-allocate_psymtab (const char *filename, struct objfile *objfile)
+partial_symtab::partial_symtab (const char *filename_, struct objfile *objfile)
+ : searched_flag (PST_NOT_SEARCHED),
+ text_low_valid (0),
+ text_high_valid (0)
{
- struct partial_symtab *psymtab = new partial_symtab;
- objfile->partial_symtabs->install_psymtab (psymtab);
+ objfile->partial_symtabs->install_psymtab (this);
- psymtab->filename
+ filename
= ((const char *) objfile->per_bfd->filename_cache.insert
- (filename, strlen (filename) + 1));
- psymtab->compunit_symtab = NULL;
+ (filename_, strlen (filename_) + 1));
+ compunit_symtab = NULL;
if (symtab_create_debug)
{
}
fprintf_filtered (gdb_stdlog,
"Created psymtab %s for module %s.\n",
- host_address_to_string (psymtab), filename);
+ host_address_to_string (this), filename);
}
-
- return psymtab;
}
void
for (i = 0; i < num_includes; i++)
{
struct partial_symtab *subpst =
- allocate_psymtab (include_list[i], objfile);
+ new partial_symtab (include_list[i], objfile);
subpst->read_symtab_private = XOBNEW (&objfile->objfile_obstack, symloc);
((struct symloc *) subpst->read_symtab_private)->first_symnum = 0;