[RFA 02/15] Remove some unneeded psymtab initializations

Tom Tromey
2018-05-10T22:25:24Z

allocate_psymtab has long cleared the new psymtab that is returned.
This patch documents this behavior and then removes some redundant
initializations.

gdb/ChangeLog
2018-05-09 Tom Tromey <tom@tromey.com>

* xcoffread.c (xcoff_end_psymtab): Remove some initializations.
* psymtab.c (allocate_psymtab): Add comment.
* psympriv.h (allocate_psymtab): Add comment.
* dwarf2read.c (dwarf2_create_include_psymtab): Remove some
initializations.
* dbxread.c (dbx_end_psymtab): Remove some initializations.
---
gdb/ChangeLog | 9 +++++++++
gdb/dbxread.c | 7 -------
gdb/dwarf2read.c | 6 ------
gdb/psympriv.h | 10 ++++++++--
gdb/psymtab.c | 2 ++
gdb/xcoffread.c | 7 -------
6 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 1c4f564f4e..84ade27b4d 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -2127,13 +2127,6 @@ dbx_end_psymtab (struct objfile *objfile, struct partial_symtab *pst,
subpst->dependencies[0] = pst;
subpst->number_of_dependencies = 1;

- subpst->globals_offset =
- subpst->n_global_syms =
- subpst->statics_offset =
- subpst->n_static_syms = 0;
-
- subpst->readin = 0;
- subpst->compunit_symtab = 0;
subpst->read_symtab = pst->read_symtab;
}

diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 8960fdc38d..be477e3d30 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -6517,13 +6517,7 @@ dwarf2_create_include_psymtab (const char *name, struct partial_symtab *pst,
subpst->dependencies[0] = pst;
subpst->number_of_dependencies = 1;

- subpst->globals_offset = 0;
- subpst->n_global_syms = 0;
- subpst->statics_offset = 0;
- subpst->n_static_syms = 0;
- subpst->compunit_symtab = NULL;
subpst->read_symtab = pst->read_symtab;
- subpst->readin = 0;

/* No private part is necessary for include psymtabs. This property
can be used to differentiate between such include psymtabs and
diff --git a/gdb/psympriv.h b/gdb/psympriv.h
index 487a34f053..2d81c16b40 100644
--- a/gdb/psympriv.h
+++ b/gdb/psympriv.h
@@ -295,8 +295,14 @@ extern struct partial_symtab *start_psymtab_common (struct objfile *,

extern void end_psymtab_common (struct objfile *, struct partial_symtab *);

-extern struct partial_symtab *allocate_psymtab (const char *,
- struct objfile *)
+/* 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);

extern void discard_psymtab (struct objfile *, struct partial_symtab *);
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 28935291e4..ee593494f6 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1740,6 +1740,8 @@ init_psymbol_list (struct objfile *objfile, int total_symbols)
objfile->static_psymbols.reserve (total_symbols / 10);
}

+/* See psympriv.h. */
+
struct partial_symtab *
allocate_psymtab (const char *filename, struct objfile *objfile)
{
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 611e954a08..a26f4fe88c 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -2109,13 +2109,6 @@ xcoff_end_psymtab (struct objfile *objfile, struct partial_symtab *pst,
subpst->dependencies[0] = pst;
subpst->number_of_dependencies = 1;

- subpst->globals_offset =
- subpst->n_global_syms =
- subpst->statics_offset =
- subpst->n_static_syms = 0;
-
- subpst->readin = 0;
- subpst->compunit_symtab = NULL;
subpst->read_symtab = pst->read_symtab;
}

--
2.13.6