https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=29ba33db77f22a54d97db90cb87c39126efad3db
commit 29ba33db77f22a54d97db90cb87c39126efad3db
Author: Tom Tromey <tromey@adacore.com>
Date: Tue Feb 8 13:41:53 2022 -0700
Add initializers to bound_minimal_symbol
This adds initializers to bound_minimal_symbol, allowing for the
removal of some calls to memset.
Diff:
---
gdb/ada-lang.c | 2 --
gdb/findvar.c | 3 +--
gdb/minsyms.h | 4 ++--
gdb/value.c | 7 +------
4 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 0dd83cda8e5..d2f620cbb04 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -4562,8 +4562,6 @@ ada_lookup_simple_minsym (const char *name)
{
struct bound_minimal_symbol result;
- memset (&result, 0, sizeof (result));
-
symbol_name_match_type match_type = name_match_type_from_name (name);
lookup_name_info lookup_name (name, match_type);
diff --git a/gdb/findvar.c b/gdb/findvar.c
index 1d22e645305..6660b006795 100644
--- a/gdb/findvar.c
+++ b/gdb/findvar.c
@@ -404,7 +404,7 @@ symbol_read_needs_frame (struct symbol *sym)
struct minsym_lookup_data
{
/* The name of the minimal symbol we are searching for. */
- const char *name;
+ const char *name = nullptr;
/* The field where the callback should store the minimal symbol
if found. It should be initialized to NULL before the search
@@ -751,7 +751,6 @@ language_defn::read_var_value (struct symbol *var,
struct minimal_symbol *msym;
struct obj_section *obj_section;
- memset (&lookup_data, 0, sizeof (lookup_data));
lookup_data.name = var->linkage_name ();
gdbarch_iterate_over_objfiles_in_search_order
diff --git a/gdb/minsyms.h b/gdb/minsyms.h
index 5970cb3bb99..ed31d32483a 100644
--- a/gdb/minsyms.h
+++ b/gdb/minsyms.h
@@ -31,12 +31,12 @@ struct bound_minimal_symbol
/* The minimal symbol that was found, or NULL if no minimal symbol
was found. */
- struct minimal_symbol *minsym;
+ struct minimal_symbol *minsym = nullptr;
/* If MINSYM is not NULL, then this is the objfile in which the
symbol is defined. */
- struct objfile *objfile;
+ struct objfile *objfile = nullptr;
/* Return the obj_section from OBJFILE for MINSYM. */
diff --git a/gdb/value.c b/gdb/value.c
index 7bd9891b3e9..76099966f13 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -3171,13 +3171,8 @@ value_fn_field (struct value **arg1p, struct fn_field *f,
struct bound_minimal_symbol msym;
sym = lookup_symbol (physname, 0, VAR_DOMAIN, 0).symbol;
- if (sym != NULL)
+ if (sym == nullptr)
{
- memset (&msym, 0, sizeof (msym));
- }
- else
- {
- gdb_assert (sym == NULL);
msym = lookup_bound_minimal_symbol (physname);
if (msym.minsym == NULL)
return NULL;