diff options
author | Tom Tromey <tromey@adacore.com> | 2022-02-15 09:04:01 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2022-02-18 12:58:35 -0700 |
commit | f6b3ad544063314a1e7fcaa703b5e29f5ff10780 (patch) | |
tree | b0cf39c005a3e84857d0356a09770b370de86e9e | |
parent | 5c14cc552d3b5c0dddb17c2f81ca8af137b0b254 (diff) | |
download | fsf-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.c | 8 | ||||
-rw-r--r-- | gdb/hppa-tdep.c | 2 | ||||
-rw-r--r-- | gdb/linespec.c | 3 | ||||
-rw-r--r-- | gdb/minsyms.c | 10 | ||||
-rw-r--r-- | gdb/minsyms.h | 8 | ||||
-rw-r--r-- | gdb/psymtab.c | 2 |
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). */ |