aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2022-02-15 09:04:01 -0700
committerTom Tromey <tromey@adacore.com>2022-02-18 12:58:35 -0700
commitf6b3ad544063314a1e7fcaa703b5e29f5ff10780 (patch)
treeb0cf39c005a3e84857d0356a09770b370de86e9e
parent5c14cc552d3b5c0dddb17c2f81ca8af137b0b254 (diff)
downloadfsf-binutils-gdb-f6b3ad544063314a1e7fcaa703b5e29f5ff10780.zip
fsf-binutils-gdb-f6b3ad544063314a1e7fcaa703b5e29f5ff10780.tar.gz
fsf-binutils-gdb-f6b3ad544063314a1e7fcaa703b5e29f5ff10780.tar.bz2
Add constructor to bound_minimal_symbol
This adds a constructor to bound_minimal_symbol, to avoid a build failure with clang that Simon pointed out. I also took the opportunity to remove some redundant initializations, and to change one use of push_back to emplace_back, as suggested by Simon.
-rw-r--r--gdb/breakpoint.c8
-rw-r--r--gdb/hppa-tdep.c2
-rw-r--r--gdb/linespec.c3
-rw-r--r--gdb/minsyms.c10
-rw-r--r--gdb/minsyms.h8
-rw-r--r--gdb/psymtab.c2
6 files changed, 20 insertions, 13 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 9ff2bf8..a3cfeea 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -3171,10 +3171,10 @@ static const char *const longjmp_names[] =
struct breakpoint_objfile_data
{
/* Minimal symbol for "_ovly_debug_event" (if any). */
- struct bound_minimal_symbol overlay_msym {};
+ struct bound_minimal_symbol overlay_msym;
/* Minimal symbol(s) for "longjmp", "siglongjmp", etc. (if any). */
- struct bound_minimal_symbol longjmp_msym[NUM_LONGJMP_NAMES] {};
+ struct bound_minimal_symbol longjmp_msym[NUM_LONGJMP_NAMES];
/* True if we have looked for longjmp probes. */
int longjmp_searched = 0;
@@ -3184,10 +3184,10 @@ struct breakpoint_objfile_data
std::vector<probe *> longjmp_probes;
/* Minimal symbol for "std::terminate()" (if any). */
- struct bound_minimal_symbol terminate_msym {};
+ struct bound_minimal_symbol terminate_msym;
/* Minimal symbol for "_Unwind_DebugHook" (if any). */
- struct bound_minimal_symbol exception_msym {};
+ struct bound_minimal_symbol exception_msym;
/* True if we have looked for exception probes. */
int exception_searched = 0;
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 7734115..760cb1b 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -2531,7 +2531,7 @@ struct bound_minimal_symbol
hppa_lookup_stub_minimal_symbol (const char *name,
enum unwind_stub_types stub_type)
{
- struct bound_minimal_symbol result = { NULL, NULL };
+ struct bound_minimal_symbol result;
for (objfile *objfile : current_program_space->objfiles ())
{
diff --git a/gdb/linespec.c b/gdb/linespec.c
index 9e21df7..707a3a2 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -4273,8 +4273,7 @@ add_minsym (struct minimal_symbol *minsym, struct objfile *objfile,
if (!list_mode && !msymbol_is_function (objfile, minsym))
return;
- struct bound_minimal_symbol mo = {minsym, objfile};
- msyms->push_back (mo);
+ msyms->emplace_back (minsym, objfile);
return;
}
diff --git a/gdb/minsyms.c b/gdb/minsyms.c
index 9a44e4b..4eab8da 100644
--- a/gdb/minsyms.c
+++ b/gdb/minsyms.c
@@ -230,13 +230,13 @@ add_minsym_to_demangled_hash_table (struct minimal_symbol *sym,
struct found_minimal_symbols
{
/* External symbols are best. */
- bound_minimal_symbol external_symbol {};
+ bound_minimal_symbol external_symbol;
/* File-local symbols are next best. */
- bound_minimal_symbol file_symbol {};
+ bound_minimal_symbol file_symbol;
/* Symbols for shared library trampolines are next best. */
- bound_minimal_symbol trampoline_symbol {};
+ bound_minimal_symbol trampoline_symbol;
/* Called when a symbol name matches. Check if the minsym is a
better type than what we had already found, and record it in one
@@ -601,8 +601,8 @@ struct bound_minimal_symbol
lookup_minimal_symbol_text (const char *name, struct objfile *objf)
{
struct minimal_symbol *msymbol;
- struct bound_minimal_symbol found_symbol = { NULL, NULL };
- struct bound_minimal_symbol found_file_symbol = { NULL, NULL };
+ struct bound_minimal_symbol found_symbol;
+ struct bound_minimal_symbol found_file_symbol;
unsigned int hash = msymbol_hash (name) % MINIMAL_SYMBOL_HASH_SIZE;
diff --git a/gdb/minsyms.h b/gdb/minsyms.h
index ed31d32..5197024 100644
--- a/gdb/minsyms.h
+++ b/gdb/minsyms.h
@@ -28,6 +28,14 @@ struct type;
struct bound_minimal_symbol
{
+ bound_minimal_symbol (struct minimal_symbol *msym, struct objfile *objf)
+ : minsym (msym),
+ objfile (objf)
+ {
+ }
+
+ bound_minimal_symbol () = default;
+
/* The minimal symbol that was found, or NULL if no minimal symbol
was found. */
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index ac5009a..2aa1d18 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1577,7 +1577,7 @@ maintenance_print_psymbols (const char *args, int from_tty)
if (address_arg != NULL)
{
- struct bound_minimal_symbol msymbol = { NULL, NULL };
+ struct bound_minimal_symbol msymbol;
/* We don't assume each pc has a unique objfile (this is for
debugging). */