constify some blockvector APIs

Generally, the blockvector ought to be readonly.  So, this patch makes
the blockvector const in the symtab, and also changes various
blockvector APIs to be const.

This patch has a couple of spots that cast away const.  I consider
these to be ok because they occur in mdebugread and are used while
constructing the blockvector.  I have added comments at these spots.

2014-06-18  Tom Tromey  <tromey@redhat.com>

	* symtab.h (struct symtab) <blockvector>: Now const.
	* ada-lang.c (ada_add_global_exceptions): Update.
	* buildsym.c (augment_type_symtab): Update.
	* dwarf2read.c (dw2_lookup_symbol): Update.
	* jit.c (finalize_symtab): Update.
	* jv-lang.c (add_class_symtab_symbol): Update.
	* mdebugread.c (parse_symbol, add_block, sort_blocks, new_symtab):
	Update.
	* objfiles.c (objfile_relocate1): Update.
	* psymtab.c (lookup_symbol_aux_psymtabs)
	(maintenance_check_psymtabs): Update.
	* python/py-symtab.c (stpy_global_block, stpy_static_block):
	Update.
	* spu-tdep.c (spu_catch_start): Update.
	* symmisc.c (dump_symtab_1): Update.
	* symtab.c (lookup_global_symbol_from_objfile)
	(lookup_symbol_aux_objfile, lookup_symbol_aux_quick)
	(basic_lookup_transparent_type_quick)
	(basic_lookup_transparent_type, find_pc_sect_symtab)
	(find_pc_sect_line, search_symbols): Update.
	* block.c (find_block_in_blockvector): Make "bl" const.
	(blockvector_for_pc_sect, blockvector_for_pc): Make return type
	const.
	(blockvector_contains_pc): Make "bv" const.
	(block_for_pc_sect): Update.
	* block.h (blockvector_for_pc, blockvector_for_pc_sect)
	(blockvector_contains_pc): Update.
	* breakpoint.c (resolve_sal_pc): Update.
	* inline-frame.c (block_starting_point_at): Update.
This commit is contained in:
Tom Tromey
2014-06-10 13:11:19 -06:00
parent 1834676b5f
commit 346d1dfebd
18 changed files with 89 additions and 52 deletions

View File

@@ -1615,7 +1615,7 @@ lookup_global_symbol_from_objfile (const struct objfile *main_objfile,
{
const struct objfile *objfile;
struct symbol *sym;
struct blockvector *bv;
const struct blockvector *bv;
const struct block *block;
struct symtab *s;
@@ -1655,7 +1655,7 @@ lookup_symbol_aux_objfile (struct objfile *objfile, int block_index,
const char *name, const domain_enum domain)
{
struct symbol *sym = NULL;
struct blockvector *bv;
const struct blockvector *bv;
const struct block *block;
struct symtab *s;
@@ -1758,7 +1758,7 @@ lookup_symbol_aux_quick (struct objfile *objfile, int kind,
const char *name, const domain_enum domain)
{
struct symtab *symtab;
struct blockvector *bv;
const struct blockvector *bv;
const struct block *block;
struct symbol *sym;
@@ -1946,7 +1946,7 @@ basic_lookup_transparent_type_quick (struct objfile *objfile, int kind,
const char *name)
{
struct symtab *symtab;
struct blockvector *bv;
const struct blockvector *bv;
struct block *block;
struct symbol *sym;
@@ -1979,7 +1979,7 @@ basic_lookup_transparent_type (const char *name)
{
struct symbol *sym;
struct symtab *s = NULL;
struct blockvector *bv;
const struct blockvector *bv;
struct objfile *objfile;
struct block *block;
struct type *t;
@@ -2136,7 +2136,7 @@ struct symtab *
find_pc_sect_symtab (CORE_ADDR pc, struct obj_section *section)
{
struct block *b;
struct blockvector *bv;
const struct blockvector *bv;
struct symtab *s = NULL;
struct symtab *best_s = NULL;
struct objfile *objfile;
@@ -2279,7 +2279,7 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
int i;
struct linetable_entry *item;
struct symtab_and_line val;
struct blockvector *bv;
const struct blockvector *bv;
struct bound_minimal_symbol msymbol;
struct objfile *objfile;
@@ -3516,7 +3516,7 @@ search_symbols (char *regexp, enum search_domain kind,
struct symbol_search **matches)
{
struct symtab *s;
struct blockvector *bv;
const struct blockvector *bv;
struct block *b;
int i = 0;
struct block_iterator iter;