/* Code dealing with blocks for GDB.
- Copyright (C) 2003-2019 Free Software Foundation, Inc.
+ Copyright (C) 2003-2022 Free Software Foundation, Inc.
This file is part of GDB.
extern struct symbol *block_iterator_next (struct block_iterator *iterator);
/* Initialize ITERATOR to point at the first symbol in BLOCK whose
- SYMBOL_SEARCH_NAME matches NAME, and return that first symbol, or
+ search_name () matches NAME, and return that first symbol, or
NULL if there are no such symbols. */
extern struct symbol *block_iter_match_first (const struct block *block,
struct block_iterator *iterator);
/* Advance ITERATOR to point at the next symbol in BLOCK whose
- SYMBOL_SEARCH_NAME matches NAME, or NULL if there are no more such
+ search_name () matches NAME, or NULL if there are no more such
symbols. Don't call this if you've previously received NULL from
block_iterator_match_first or block_iterator_match_next on this
iteration. And don't call it unless ITERATOR was created by a
extern struct symbol *block_iter_match_next
(const lookup_name_info &name, struct block_iterator *iterator);
+/* Return true if symbol A is the best match possible for DOMAIN. */
+
+extern bool best_symbol (struct symbol *a, const domain_enum domain);
+
+/* Return symbol B if it is a better match than symbol A for DOMAIN.
+ Otherwise return A. */
+
+extern struct symbol *better_symbol (struct symbol *a, struct symbol *b,
+ const domain_enum domain);
+
/* Search BLOCK for symbol NAME in DOMAIN. */
extern struct symbol *block_lookup_symbol (const struct block *block,
struct symbol *with_opaque = NULL;
struct symbol *sym
= block_find_symbol (block, name, domain,
- block_find_non_opaque_type_preferred, &with_opaque);
+ block_find_non_opaque_type_preferred, &with_opaque);
At this point if SYM is non-NULL then a non-opaque type has been found.
Otherwise, if WITH_OPAQUE is non-NULL then an opaque type has been found.
/* Given a vector of pairs, allocate and build an obstack allocated
blockranges struct for a block. */
struct blockranges *make_blockranges (struct objfile *objfile,
- const std::vector<blockrange> &rangevec);
+ const std::vector<blockrange> &rangevec);
#endif /* BLOCK_H */