diff options
author | Doug Evans <dje@google.com> | 2014-01-14 18:30:31 -0800 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2014-01-14 18:30:31 -0800 |
commit | 206f2a5777679e6d1ad21ce435f6e7af92e2d41a (patch) | |
tree | a4fa8416d471b8b535238214a70235df78c4022e /gdb/symfile.h | |
parent | 540c2971fa25a14ae16a9bb14ba2f424b5f1ea96 (diff) | |
download | gdb-206f2a5777679e6d1ad21ce435f6e7af92e2d41a.zip gdb-206f2a5777679e6d1ad21ce435f6e7af92e2d41a.tar.gz gdb-206f2a5777679e6d1ad21ce435f6e7af92e2d41a.tar.bz2 |
psymtab cleanup patch 2/3
This patch adds two typedefs:
expand_symtabs_file_matcher_ftype
expand_symtabs_symbol_matcher_ftype
It also renames the NAME_MATCHER argument in expand_symtabs_matching.
The function is named expand_symtabs_matching and it takes a name_matcher
argument. Name of what? The symtab? A symbol?
I made it SYMBOL_MATCHER to make it clearer.
* symfile.h (expand_symtabs_file_matcher_ftype): New typedef.
(expand_symtabs_symbol_matcher_ftype): New typedef.
(quick_symbol_functions.expand_symtabs_matching): Update to use.
expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
* symfile.c (expand_partial_symbol_names): Update to use
expand_symtabs_symbol_matcher_ftype.
* dwarf2read.c (dw2_expand_symtabs_matching): Update to use
expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
Arg name_matcher renamed to symbol_matcher.
* psymtab.c (recursively_search_psymtabs): Update to use
expand_symtabs_symbol_matcher_ftype. Arg name_matcher renamed to
sym_matcher.
(expand_symtabs_matching_via_partial): Update to use
expand_symtabs_file_matcher_ftype, expand_symtabs_symbol_matcher_ftype.
Arg name_matcher renamed to symbol_matcher.
Diffstat (limited to 'gdb/symfile.h')
-rw-r--r-- | gdb/symfile.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/gdb/symfile.h b/gdb/symfile.h index 380c8cd..c48b368 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -125,6 +125,18 @@ struct symfile_segment_data typedef void (symbol_filename_ftype) (const char *filename, const char *fullname, void *data); +/* Callback for quick_symbol_functions->expand_symtabs_matching + to match a file name. */ + +typedef int (expand_symtabs_file_matcher_ftype) (const char *filename, + void *data, int basenames); + +/* Callback for quick_symbol_functions->expand_symtabs_matching + to match a symbol name. */ + +typedef int (expand_symtabs_symbol_matcher_ftype) (const char *name, + void *data); + /* The "quick" symbol functions exist so that symbol readers can avoiding an initial read of all the symbols. For example, symbol readers might choose to use the "partial symbol table" utilities, @@ -256,11 +268,11 @@ struct quick_symbol_functions Otherwise, if KIND does not match this symbol is skipped. - If even KIND matches, then NAME_MATCHER is called for each symbol + If even KIND matches, then SYMBOL_MATCHER is called for each symbol defined in the file. The symbol "search" name and DATA are passed - to NAME_MATCHER. + to SYMBOL_MATCHER. - If NAME_MATCHER returns zero, then this symbol is skipped. + If SYMBOL_MATCHER returns zero, then this symbol is skipped. Otherwise, this symbol's symbol table is expanded. @@ -268,8 +280,8 @@ struct quick_symbol_functions functions. */ void (*expand_symtabs_matching) (struct objfile *objfile, - int (*file_matcher) (const char *, void *, int basenames), - int (*name_matcher) (const char *, void *), + expand_symtabs_file_matcher_ftype *file_matcher, + expand_symtabs_symbol_matcher_ftype *symbol_matcher, enum search_domain kind, void *data); |