diff options
author | Tom Tromey <tom@tromey.com> | 2019-10-22 16:57:35 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-01-26 16:40:21 -0700 |
commit | 32caafd02b069c36908f41f53ae0cbca1911aaca (patch) | |
tree | 100fcb2c3ac32456eb3fdc8d452f0bf1766afd17 /gdb/psymtab.c | |
parent | abaa2f2340a400fd19aea2973f705fe813d620d4 (diff) | |
download | binutils-32caafd02b069c36908f41f53ae0cbca1911aaca.zip binutils-32caafd02b069c36908f41f53ae0cbca1911aaca.tar.gz binutils-32caafd02b069c36908f41f53ae0cbca1911aaca.tar.bz2 |
Change allocate_psymtab to be a constructor
This is the next step in getting the symbol readers to allocate
psymtabs themselves: change allocate_psymtab to be an ordinary
constructor, and then use "new" at the previous call sites. Note that
this doesn't get us all the way -- start_psymtab_common is still
allocating a partial symtab.
gdb/ChangeLog
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.
Change-Id: Iffeae64c925050b90b9916cbc36e15b26ff42226
Diffstat (limited to 'gdb/psymtab.c')
-rw-r--r-- | gdb/psymtab.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/gdb/psymtab.c b/gdb/psymtab.c index 975737c..844e718 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -1487,7 +1487,7 @@ start_psymtab_common (struct objfile *objfile, { 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 (); @@ -1646,16 +1646,17 @@ init_psymbol_list (struct objfile *objfile, int total_symbols) /* 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) { @@ -1674,10 +1675,8 @@ allocate_psymtab (const char *filename, struct objfile *objfile) } 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 |