Change lookup_symbol's block_index parameter type to block_enum

The only two values valid to pass to the block_index parameter of
quick_symbol_functions::lookup_symbol are GLOBAL_BLOCK and STATIC_BLOCK,
part of enum block_enum.  Change the type of that parameter to
block_enum.

Change also the block_index field of dw2_symtab_iterator in the same
way..  This makes it consistent with dw2_debug_names_iterator, which
already uses block_enum for its block_index field.

This is a follow-up to this thread:

https://sourceware.org/ml/gdb-patches/2019-08/msg00097.html

gdb/ChangeLog:

	* dwarf2read.c (struct dw2_symtab_iterator) <block_index>:
	Change type to gdb::optional<block_enum>.
	(dw2_symtab_iter_init): Change block_index parameter type
	to gdb::optional<block_enum>.
	(dw2_lookup_symbol): Change block_index parameter
	type to block_enum.c
	(dw2_debug_names_lookup_symbol): Likewise.
	* psymtab.c (psym_lookup_symbol): Likewise.
	* symfile-debug.c (debug_qf_lookup_symbol): Likewise.
	* symfile.h (struct quick_symbol_functions) <lookup_symbol>:
	Likewise.
This commit is contained in:
Simon Marchi 2019-09-07 12:03:56 -04:00 committed by Simon Marchi
parent deccd150e1
commit c7f839cbf0
5 changed files with 23 additions and 9 deletions

View File

@ -1,3 +1,17 @@
2019-09-07 Simon Marchi <simon.marchi@efficios.com>
* dwarf2read.c (struct dw2_symtab_iterator) <block_index>:
Change type to gdb::optional<block_enum>.
(dw2_symtab_iter_init): Change block_index parameter type
to gdb::optional<block_enum>.
(dw2_lookup_symbol): Change block_index parameter
type to block_enum.c
(dw2_debug_names_lookup_symbol): Likewise.
* psymtab.c (psym_lookup_symbol): Likewise.
* symfile-debug.c (debug_qf_lookup_symbol): Likewise.
* symfile.h (struct quick_symbol_functions) <lookup_symbol>:
Likewise.
2019-09-06 Christian Biesinger <cbiesinger@google.com>
* defs.h (relocate_gdb_directory): Change int to bool in

View File

@ -3883,7 +3883,7 @@ struct dw2_symtab_iterator
struct dwarf2_per_objfile *dwarf2_per_objfile;
/* If set, only look for symbols that match that block. Valid values are
GLOBAL_BLOCK and STATIC_BLOCK. */
gdb::optional<int> block_index;
gdb::optional<block_enum> block_index;
/* The kind of symbol we're looking for. */
domain_enum domain;
/* The list of CUs from the index entry of the symbol,
@ -3905,7 +3905,7 @@ struct dw2_symtab_iterator
static void
dw2_symtab_iter_init (struct dw2_symtab_iterator *iter,
struct dwarf2_per_objfile *dwarf2_per_objfile,
gdb::optional<int> block_index,
gdb::optional<block_enum> block_index,
domain_enum domain,
const char *name)
{
@ -4018,7 +4018,7 @@ dw2_symtab_iter_next (struct dw2_symtab_iterator *iter)
}
static struct compunit_symtab *
dw2_lookup_symbol (struct objfile *objfile, int block_index,
dw2_lookup_symbol (struct objfile *objfile, block_enum block_index,
const char *name, domain_enum domain)
{
struct compunit_symtab *stab_best = NULL;
@ -6004,10 +6004,9 @@ dw2_debug_names_iterator::next ()
}
static struct compunit_symtab *
dw2_debug_names_lookup_symbol (struct objfile *objfile, int block_index_int,
dw2_debug_names_lookup_symbol (struct objfile *objfile, block_enum block_index,
const char *name, domain_enum domain)
{
const block_enum block_index = static_cast<block_enum> (block_index_int);
struct dwarf2_per_objfile *dwarf2_per_objfile
= get_dwarf2_per_objfile (objfile);

View File

@ -479,7 +479,7 @@ find_pc_sect_psymbol (struct objfile *objfile,
static struct compunit_symtab *
psym_lookup_symbol (struct objfile *objfile,
int block_index, const char *name,
block_enum block_index, const char *name,
const domain_enum domain)
{
const int psymtab_index = (block_index == GLOBAL_BLOCK ? 1 : 0);

View File

@ -140,8 +140,8 @@ debug_qf_map_symtabs_matching_filename
}
static struct compunit_symtab *
debug_qf_lookup_symbol (struct objfile *objfile, int kind, const char *name,
domain_enum domain)
debug_qf_lookup_symbol (struct objfile *objfile, block_enum kind,
const char *name, domain_enum domain)
{
const struct debug_sym_fns_data *debug_data
= symfile_debug_objfile_data_key.get (objfile);

View File

@ -179,7 +179,8 @@ struct quick_symbol_functions
contains !TYPE_OPAQUE symbol prefer its compunit. If it contains
only TYPE_OPAQUE symbol(s), return at least that compunit. */
struct compunit_symtab *(*lookup_symbol) (struct objfile *objfile,
int block_index, const char *name,
block_enum block_index,
const char *name,
domain_enum domain);
/* Print statistics about any indices loaded for OBJFILE. The