diff options
author | Tom Tromey <tom@tromey.com> | 2018-03-31 10:32:00 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-04-05 07:39:33 -0600 |
commit | 41c1efc614472cdc74397e734f5a66018362a80a (patch) | |
tree | 97d77b6582dcdfbec4f3436251c058c9243411cf /gdb/minsyms.c | |
parent | 65bd20451fc7e5aea1f0283433f95fb2fe60771d (diff) | |
download | gdb-41c1efc614472cdc74397e734f5a66018362a80a.zip gdb-41c1efc614472cdc74397e734f5a66018362a80a.tar.gz gdb-41c1efc614472cdc74397e734f5a66018362a80a.tar.bz2 |
Remove some cleanups from search_minsyms_for_name
This changes struct collect_minsyms to use a std::vector, which
enables the removal of a cleanup from search_minsyms_for_name. This
also changes iterate_over_minimal_symbols to take a
gdb::function_view, which makes a function in linespec.c more
type-safe.
ChangeLog
2018-04-05 Tom Tromey <tom@tromey.com>
* minsyms.h (iterate_over_minimal_symbols): Update.
* minsyms.c (iterate_over_minimal_symbols): Take a
gdb::function_view.
* linespec.c (struct collect_minsyms): Remove.
(compare_msyms): Now a std::sort comparator.
(add_minsym): Add parameters.
(search_minsyms_for_name): Update. Use std::vector.
Diffstat (limited to 'gdb/minsyms.c')
-rw-r--r-- | gdb/minsyms.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 72969b7..9d23c4f 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -469,13 +469,10 @@ linkage_name_str (const lookup_name_info &lookup_name) /* See minsyms.h. */ void -iterate_over_minimal_symbols (struct objfile *objf, - const lookup_name_info &lookup_name, - void (*callback) (struct minimal_symbol *, - void *), - void *user_data) +iterate_over_minimal_symbols + (struct objfile *objf, const lookup_name_info &lookup_name, + gdb::function_view<void (struct minimal_symbol *)> callback) { - /* The first pass is over the ordinary hash table. */ { const char *name = linkage_name_str (lookup_name); @@ -490,7 +487,7 @@ iterate_over_minimal_symbols (struct objfile *objf, iter = iter->hash_next) { if (mangled_cmp (MSYMBOL_LINKAGE_NAME (iter), name) == 0) - (*callback) (iter, user_data); + callback (iter); } } @@ -509,7 +506,7 @@ iterate_over_minimal_symbols (struct objfile *objf, iter != NULL; iter = iter->demangled_hash_next) if (name_match (MSYMBOL_SEARCH_NAME (iter), lookup_name, NULL)) - (*callback) (iter, user_data); + callback (iter); } } |