bool expand_symtabs_matching
(struct objfile *objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ expand_symtabs_file_matcher file_matcher,
const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
- override;
+ expand_symtabs_lang_matcher lang_matcher) override;
struct compunit_symtab *find_pc_sect_compunit_symtab
(struct objfile *objfile, bound_minimal_symbol msymbol,
(objfile, msymbol, pc, section, warn_if_readin));
}
- void map_symbol_filenames
- (struct objfile *objfile,
- gdb::function_view<symbol_filename_ftype> fun,
- bool need_fullname) override
+ void map_symbol_filenames (objfile *objfile, symbol_filename_listener fun,
+ bool need_fullname) override
{
wait (objfile, true);
return (dwarf2_base_index_functions::map_symbol_filenames
dw2_expand_symtabs_matching_symbol
(mapped_gdb_index &index,
const lookup_name_info &lookup_name_in,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
+ expand_symtabs_symbol_matcher symbol_matcher,
gdb::function_view<bool (offset_type)> match_callback,
dwarf2_per_objfile *per_objfile,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
+ expand_symtabs_lang_matcher lang_matcher)
{
lookup_name_info lookup_name_without_params
= lookup_name_in.make_ignore_params ();
bool expand_symtabs_matching
(struct objfile *objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ expand_symtabs_file_matcher file_matcher,
const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
- override;
+ expand_symtabs_lang_matcher lang_matcher) override;
};
/* This dumps minimal information about the index.
index of the symbol name that matched. */
static bool
-dw2_expand_marked_cus
- (dwarf2_per_objfile *per_objfile, offset_type idx,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
- block_search_flags search_flags,
- domain_search_flags kind,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
+dw2_expand_marked_cus (dwarf2_per_objfile *per_objfile, offset_type idx,
+ expand_symtabs_file_matcher file_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
+ block_search_flags search_flags,
+ domain_search_flags kind,
+ expand_symtabs_lang_matcher lang_matcher)
{
offset_type vec_len, vec_idx;
bool global_seen = false;
bool
dwarf2_gdb_index::expand_symtabs_matching
- (struct objfile *objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
- const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
- block_search_flags search_flags,
- domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
+ (objfile *objfile,
+ expand_symtabs_file_matcher file_matcher,
+ const lookup_name_info *lookup_name,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
+ block_search_flags search_flags,
+ domain_search_flags domain,
+ expand_symtabs_lang_matcher lang_matcher)
{
dwarf2_per_objfile *per_objfile = get_dwarf2_per_objfile (objfile);
bool expand_symtabs_matching
(struct objfile *objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ expand_symtabs_file_matcher file_matcher,
const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
- override
+ expand_symtabs_lang_matcher lang_matcher) override
{
return true;
}
dw2_expand_symtabs_matching_one
(dwarf2_per_cu_data *per_cu,
dwarf2_per_objfile *per_objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
+ expand_symtabs_file_matcher file_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
+ expand_symtabs_lang_matcher lang_matcher)
{
if (file_matcher != nullptr && !per_cu->mark)
return true;
void
dw_expand_symtabs_matching_file_matcher
- (dwarf2_per_objfile *per_objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher)
+ (dwarf2_per_objfile *per_objfile, expand_symtabs_file_matcher file_matcher)
{
if (file_matcher == NULL)
return;
}
void
-dwarf2_base_index_functions::map_symbol_filenames
- (struct objfile *objfile,
- gdb::function_view<symbol_filename_ftype> fun,
- bool need_fullname)
+dwarf2_base_index_functions::map_symbol_filenames (objfile *objfile,
+ symbol_filename_listener fun,
+ bool need_fullname)
{
dwarf2_per_objfile *per_objfile = get_dwarf2_per_objfile (objfile);
bool
cooked_index_functions::expand_symtabs_matching
- (struct objfile *objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
- const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
- block_search_flags search_flags,
- domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
+ (objfile *objfile,
+ expand_symtabs_file_matcher file_matcher,
+ const lookup_name_info *lookup_name,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
+ block_search_flags search_flags,
+ domain_search_flags domain,
+ expand_symtabs_lang_matcher lang_matcher)
{
dwarf2_per_objfile *per_objfile = get_dwarf2_per_objfile (objfile);
return nullptr;
}
- void map_symbol_filenames (struct objfile *objfile,
- gdb::function_view<symbol_filename_ftype> fun,
+ void map_symbol_filenames (objfile *objfile, symbol_filename_listener fun,
bool need_fullname) override;
};
extern bool dw2_expand_symtabs_matching_one
(dwarf2_per_cu_data *per_cu,
dwarf2_per_objfile *per_objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher);
+ expand_symtabs_file_matcher file_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
+ expand_symtabs_lang_matcher lang_matcher);
/* If FILE_MATCHER is non-NULL, set all the
dwarf2_per_cu_quick_data::MARK of the current DWARF2_PER_OBJFILE
extern void dw_expand_symtabs_matching_file_matcher
(dwarf2_per_objfile *per_objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher);
+ expand_symtabs_file_matcher file_matcher);
/* Return pointer to string at .debug_str offset STR_OFFSET. */
/* See quick_symbol_functions. */
bool expand_symtabs_matching
- (gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ (expand_symtabs_file_matcher file_matcher,
const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher
- = nullptr);
+ expand_symtabs_lang_matcher lang_matcher = nullptr);
/* See quick_symbol_functions. */
struct compunit_symtab *
int warn_if_readin);
/* See quick_symbol_functions. */
- void map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
- bool need_fullname);
+ void map_symbol_filenames (symbol_filename_listener fun, bool need_fullname);
/* See quick_symbol_functions. */
void compute_main_name ();
the definition of quick_symbol_functions in symfile.h. */
void
-psymbol_functions::map_symbol_filenames
- (struct objfile *objfile,
- gdb::function_view<symbol_filename_ftype> fun,
- bool need_fullname)
+psymbol_functions::map_symbol_filenames (objfile *objfile,
+ symbol_filename_listener fun,
+ bool need_fullname)
{
for (partial_symtab *ps : partial_symbols (objfile))
{
various psymtabs that it searches. */
static bool
-recursively_search_psymtabs
- (struct partial_symtab *ps,
- struct objfile *objfile,
- block_search_flags search_flags,
- domain_search_flags domain,
- const lookup_name_info &lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> sym_matcher)
+recursively_search_psymtabs (partial_symtab *ps, objfile *objfile,
+ block_search_flags search_flags,
+ domain_search_flags domain,
+ const lookup_name_info &lookup_name,
+ expand_symtabs_symbol_matcher sym_matcher)
{
int keep_going = 1;
enum psymtab_search_status result = PST_SEARCHED_AND_NOT_FOUND;
bool
psymbol_functions::expand_symtabs_matching
(struct objfile *objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ expand_symtabs_file_matcher file_matcher,
const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype>
- lang_matcher ATTRIBUTE_UNUSED)
+ expand_symtabs_lang_matcher lang_matcher ATTRIBUTE_UNUSED)
{
/* Clear the search flags. */
for (partial_symtab *ps : partial_symbols (objfile))
bool expand_symtabs_matching
(struct objfile *objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ expand_symtabs_file_matcher file_matcher,
const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags kind,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
- override;
+ expand_symtabs_lang_matcher lang_matcher) override;
struct compunit_symtab *find_pc_sect_compunit_symtab
(struct objfile *objfile, bound_minimal_symbol msymbol, CORE_ADDR pc,
return nullptr;
}
- void map_symbol_filenames (struct objfile *objfile,
- gdb::function_view<symbol_filename_ftype> fun,
+ void map_symbol_filenames (objfile *objfile, symbol_filename_listener fun,
bool need_fullname) override;
/* Return a range adapter for the psymtabs. */
DEF_ENUM_FLAGS_TYPE (enum block_search_flag_values, block_search_flags);
-/* Callback for quick_symbol_functions->map_symbol_filenames. */
+/* Callback for quick_symbol_functions::map_symbol_filenames. */
-typedef void (symbol_filename_ftype) (const char *filename,
- const char *fullname);
+using symbol_filename_listener
+ = gdb::function_view<void (const char *filename, const char *fullname)>;
-/* Callback for quick_symbol_functions->expand_symtabs_matching
+/* Callback for quick_symbol_functions::expand_symtabs_matching
to match a file name. */
-typedef bool (expand_symtabs_file_matcher_ftype) (const char *filename,
- bool basenames);
+using expand_symtabs_file_matcher
+ = gdb::function_view<bool (const char *filename, bool basenames)>;
-/* Callback for quick_symbol_functions->expand_symtabs_matching
+/* Callback for quick_symbol_functions::expand_symtabs_matching
to match a symbol name. */
-typedef bool (expand_symtabs_symbol_matcher_ftype) (const char *name);
+using expand_symtabs_symbol_matcher
+ = gdb::function_view<bool (const char *name)>;
-/* Callback for quick_symbol_functions->expand_symtabs_matching
+/* Callback for quick_symbol_functions::expand_symtabs_matching
to match a language. */
-typedef bool (expand_symtabs_lang_matcher_ftype) (enum language lang);
+using expand_symtabs_lang_matcher
+ = gdb::function_view<bool (enum language lang)>;
-/* Callback for quick_symbol_functions->expand_symtabs_matching
+/* Callback for quick_symbol_functions::expand_symtabs_matching
to be called after a symtab has been expanded. If this returns
true, more symtabs are checked; if it returns false, iteration
stops. */
-typedef bool (expand_symtabs_exp_notify_ftype) (compunit_symtab *symtab);
+using expand_symtabs_expansion_listener
+ = gdb::function_view<bool (compunit_symtab *symtab)>;
/* The "quick" symbol functions exist so that symbol readers can
avoiding an initial read of all the symbols. For example, symbol
Note that if SYMBOL_MATCHER is non-NULL, then LOOKUP_NAME must
also be provided.
- Otherwise, the symbol's symbol table is expanded and the
- notification function is called. If the notification function
- returns false, execution stops and this method returns false.
- Otherwise, more files are considered. This method will return
- true if all calls to the notification function return true. */
+ Otherwise, the symbol's symbol table is expanded and EXPANSION_NOTIFY is
+ called. If EXPANSION_NOTIFY returns false, execution stops and this method
+ returns false. Otherwise, more files are considered. This method returns
+ true if all calls to EXPANSION_NOTIFY return true. */
virtual bool expand_symtabs_matching
(struct objfile *objfile,
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ expand_symtabs_file_matcher file_matcher,
const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher
- = nullptr) = 0;
+ expand_symtabs_lang_matcher lang_matcher = nullptr) = 0;
/* Return the comp unit from OBJFILE that contains PC and
SECTION. Return NULL if there is no such compunit. This
virtual struct compunit_symtab *find_compunit_symtab_by_address
(struct objfile *objfile, CORE_ADDR address) = 0;
- /* Call a callback for every file defined in OBJFILE whose symtab is
- not already read in. FUN is the callback. It is passed the
- file's FILENAME and the file's FULLNAME (if need_fullname is
- non-zero). */
- virtual void map_symbol_filenames
- (struct objfile *objfile,
- gdb::function_view<symbol_filename_ftype> fun,
- bool need_fullname) = 0;
+ /* Call FUN for every file defined in OBJFILE whose symtab is
+ not already read in.
+
+ FUN is passed the file's FILENAME and the file's FULLNAME (if need_fullname
+ is true). */
+ virtual void map_symbol_filenames (objfile *objfile,
+ symbol_filename_listener fun,
+ bool need_fullname) = 0;
/* Compute the name and language of the main function for the given
objfile. Normally this is done during symbol reading, but this
bool
objfile::expand_symtabs_matching
- (gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ (expand_symtabs_file_matcher file_matcher,
const lookup_name_info *lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
+ expand_symtabs_lang_matcher lang_matcher)
{
/* This invariant is documented in quick-functions.h. */
gdb_assert (lookup_name != nullptr || symbol_matcher == nullptr);
}
void
-objfile::map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
- bool need_fullname)
+objfile::map_symbol_filenames (symbol_filename_listener fun, bool need_fullname)
{
if (debug_symfile)
gdb_printf (gdb_stdlog,
See quick_symbol_functions.expand_symtabs_matching for details. */
bool
-expand_symtabs_matching
- (gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
- const lookup_name_info &lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
- block_search_flags search_flags,
- domain_search_flags domain,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher)
+expand_symtabs_matching (expand_symtabs_file_matcher file_matcher,
+ const lookup_name_info &lookup_name,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
+ block_search_flags search_flags,
+ domain_search_flags domain,
+ expand_symtabs_lang_matcher lang_matcher)
{
for (objfile *objfile : current_program_space->objfiles ())
if (!objfile->expand_symtabs_matching (file_matcher,
See quick_symbol_functions.map_symbol_filenames for details. */
void
-map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
- bool need_fullname)
+map_symbol_filenames (symbol_filename_listener fun, bool need_fullname)
{
for (objfile *objfile : current_program_space->objfiles ())
objfile->map_symbol_filenames (fun, need_fullname);
#include "symfile-add-flags.h"
#include "objfile-flags.h"
#include "gdb_bfd.h"
-#include "gdbsupport/function-view.h"
#include "target-section.h"
#include "quick-symbol.h"
extern scoped_restore_tmpl<int> increment_reading_symtab (void);
bool expand_symtabs_matching
- (gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher,
+ (expand_symtabs_file_matcher file_matcher,
const lookup_name_info &lookup_name,
- gdb::function_view<expand_symtabs_symbol_matcher_ftype> symbol_matcher,
- gdb::function_view<expand_symtabs_exp_notify_ftype> expansion_notify,
+ expand_symtabs_symbol_matcher symbol_matcher,
+ expand_symtabs_expansion_listener expansion_notify,
block_search_flags search_flags,
domain_search_flags kind,
- gdb::function_view<expand_symtabs_lang_matcher_ftype> lang_matcher
- = nullptr);
+ expand_symtabs_lang_matcher lang_matcher = nullptr);
-void map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
- bool need_fullname);
+void map_symbol_filenames (symbol_filename_listener fun, bool need_fullname);
/* Target-agnostic function to load the sections of an executable into memory.
{
return file_matches (filename, m_filenames, basenames);
};
- gdb::function_view<expand_symtabs_file_matcher_ftype> file_matcher = nullptr;
+ expand_symtabs_file_matcher file_matcher = nullptr;
if (!m_filenames.empty ())
file_matcher = do_file_match;