void *data);
/* Check to see if the symbol is defined in a "partial" symbol table
- of OBJFILE. KIND should be either GLOBAL_BLOCK or STATIC_BLOCK,
+ of OBJFILE. BLOCK_INDEX should be either GLOBAL_BLOCK or STATIC_BLOCK,
depending on whether we want to search global symbols or static
symbols. NAME is the name of the symbol to look for. DOMAIN
indicates what sort of symbol to search for.
contains !TYPE_OPAQUE symbol prefer its symtab. If it contains
only TYPE_OPAQUE symbol(s), return at least that symtab. */
struct symtab *(*lookup_symbol) (struct objfile *objfile,
- int kind, const char *name,
+ int block_index, const char *name,
domain_enum domain);
/* Print statistics about any indices loaded for OBJFILE. The
in a psymtab but not in a symtab. */
static void ATTRIBUTE_NORETURN
-error_in_psymtab_expansion (int kind, const char *name, struct symtab *symtab)
+error_in_psymtab_expansion (int block_index, const char *name,
+ struct symtab *symtab)
{
error (_("\
Internal: %s symbol `%s' found in %s psymtab but not in symtab.\n\
%s may be an inlined function, or may be a template function\n \
(if a template, try specifying an instantiation: %s<type>)."),
- kind == GLOBAL_BLOCK ? "global" : "static",
+ block_index == GLOBAL_BLOCK ? "global" : "static",
name, symtab_to_filename_for_display (symtab), name, name);
}
"quick" symbol table functions. */
static struct symbol *
-lookup_symbol_aux_quick (struct objfile *objfile, int kind,
+lookup_symbol_aux_quick (struct objfile *objfile, int block_index,
const char *name, const domain_enum domain)
{
struct symtab *symtab;
if (!objfile->sf)
return NULL;
- symtab = objfile->sf->qf->lookup_symbol (objfile, kind, name, domain);
+ symtab = objfile->sf->qf->lookup_symbol (objfile, block_index, name, domain);
if (!symtab)
return NULL;
bv = BLOCKVECTOR (symtab);
- block = BLOCKVECTOR_BLOCK (bv, kind);
+ block = BLOCKVECTOR_BLOCK (bv, block_index);
sym = lookup_block_symbol (block, name, domain);
if (!sym)
- error_in_psymtab_expansion (kind, name, symtab);
+ error_in_psymtab_expansion (block_index, name, symtab);
block_found = block;
return fixup_symbol_section (sym, objfile);
}
"quick" symbol table functions. */
static struct type *
-basic_lookup_transparent_type_quick (struct objfile *objfile, int kind,
+basic_lookup_transparent_type_quick (struct objfile *objfile, int block_index,
const char *name)
{
struct symtab *symtab;
if (!objfile->sf)
return NULL;
- symtab = objfile->sf->qf->lookup_symbol (objfile, kind, name, STRUCT_DOMAIN);
+ symtab = objfile->sf->qf->lookup_symbol (objfile, block_index, name,
+ STRUCT_DOMAIN);
if (!symtab)
return NULL;
bv = BLOCKVECTOR (symtab);
- block = BLOCKVECTOR_BLOCK (bv, kind);
+ block = BLOCKVECTOR_BLOCK (bv, block_index);
sym = lookup_block_symbol (block, name, STRUCT_DOMAIN);
if (!sym)
- error_in_psymtab_expansion (kind, name, symtab);
+ error_in_psymtab_expansion (block_index, name, symtab);
if (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
return SYMBOL_TYPE (sym);