aboutsummaryrefslogtreecommitdiff
path: root/gdb/minsyms.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2018-03-31 10:32:00 -0600
committerTom Tromey <tom@tromey.com>2018-04-05 07:39:33 -0600
commit41c1efc614472cdc74397e734f5a66018362a80a (patch)
tree97d77b6582dcdfbec4f3436251c058c9243411cf /gdb/minsyms.c
parent65bd20451fc7e5aea1f0283433f95fb2fe60771d (diff)
downloadgdb-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.c13
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);
}
}