forked from Imagelibrary/binutils-gdb
constify struct block in some places
This makes some spots in gdb, particularly general_symbol_info, use a "const struct block", then fixes the fallout. The justification is that, ordinarily, blocks ought to be readonly. Note though that we can't add "const" in the blockvector due to block relocation. This can be done once blocks are made independent of the program space. 2014-06-18 Tom Tromey <tromey@redhat.com> * varobj.c (varobj_create): Update. * valops.c (value_of_this): Update. * tracepoint.c (add_local_symbols, scope_info): Update. * symtab.h (struct general_symbol_info) <block>: Now const. * symtab.c (skip_prologue_sal) (default_make_symbol_completion_list_break_on) (skip_prologue_using_sal): Update. * stack.h (iterate_over_block_locals) (iterate_over_block_local_vars): Update. * stack.c (print_frame_args): Update. (iterate_over_block_locals, iterate_over_block_local_vars): Make parameter const. (get_selected_block): Make return type const. * python/py-frame.c (frapy_block): Update. * python/py-block.c (gdbpy_block_for_pc): Update. * p-exp.y (%union) <bval>: Now const. * mi/mi-cmd-stack.c (list_args_or_locals): Update. * mdebugread.c (mylookup_symbol, parse_procedure): Update. * m2-exp.y (%union) <bval>: Now const. * linespec.c (get_current_search_block): Make return type const. (create_sals_line_offset, find_label_symbols): Update. * inline-frame.c (inline_frame_sniffer, skip_inline_frames): Update. (block_starting_point_at): Make "block" const. * infrun.c (insert_exception_resume_breakpoint): Make "b" const. (check_exception_resume): Update. * guile/scm-frame.c (gdbscm_frame_block): Update. * guile/scm-block.c (gdbscm_lookup_block): Update. * frame.h (get_frame_block): Update. (get_selected_block): Make return type const. * frame.c (frame_id_inner): Update. * f-valprint.c (info_common_command_for_block) (info_common_command): Update. * dwarf2loc.c (dwarf2_find_location_expression) (dwarf_expr_frame_base, dwarf2_compile_expr_to_ax) (locexpr_describe_location_piece): Update. * c-exp.y (%union) <bval>: Now const. * breakpoint.c (resolve_sal_pc): Update. * blockframe.c (get_frame_block):Make return type const. (get_pc_function_start, get_frame_function, find_pc_sect_function) (block_innermost_frame): Update. * block.h (blockvector_for_pc, blockvector_for_pc_sect) (block_for_pc, block_for_pc_sect): Update. * block.c (blockvector_for_pc_sect, blockvector_for_pc): Make 'pblock' const. (block_for_pc_sect, block_for_pc): Make return type const. * ax-gdb.c (gen_expr): Update. * alpha-mdebug-tdep.c (find_proc_desc): Update. * ada-lang.c (ada_read_renaming_var_value): Make 'block' const. (ada_make_symbol_completion_list, ada_add_exceptions_from_frame) (ada_read_var_value): Update. * ada-exp.y (struct name_info) <block>: Now const. (%union): Likewise. (block_lookup): Constify.
This commit is contained in:
@@ -1058,10 +1058,10 @@ iterate_over_all_matching_symtabs (struct linespec_state *state,
|
||||
/* Returns the block to be used for symbol searches from
|
||||
the current location. */
|
||||
|
||||
static struct block *
|
||||
static const struct block *
|
||||
get_current_search_block (void)
|
||||
{
|
||||
struct block *block;
|
||||
const struct block *block;
|
||||
enum language save_language;
|
||||
|
||||
/* get_selected_block can change the current language when there is
|
||||
@@ -1897,7 +1897,7 @@ create_sals_line_offset (struct linespec_state *self,
|
||||
{
|
||||
struct linetable_entry *best_entry = NULL;
|
||||
int *filter;
|
||||
struct block **blocks;
|
||||
const struct block **blocks;
|
||||
struct cleanup *cleanup;
|
||||
struct symtabs_and_lines intermediate_results;
|
||||
int i, j;
|
||||
@@ -1925,7 +1925,7 @@ create_sals_line_offset (struct linespec_state *self,
|
||||
|
||||
filter = XNEWVEC (int, intermediate_results.nelts);
|
||||
make_cleanup (xfree, filter);
|
||||
blocks = XNEWVEC (struct block *, intermediate_results.nelts);
|
||||
blocks = XNEWVEC (const struct block *, intermediate_results.nelts);
|
||||
make_cleanup (xfree, blocks);
|
||||
|
||||
for (i = 0; i < intermediate_results.nelts; ++i)
|
||||
@@ -3214,7 +3214,7 @@ find_label_symbols (struct linespec_state *self,
|
||||
VEC (symbolp) **label_funcs_ret, const char *name)
|
||||
{
|
||||
int ix;
|
||||
struct block *block;
|
||||
const struct block *block;
|
||||
struct symbol *sym;
|
||||
struct symbol *fn_sym;
|
||||
VEC (symbolp) *result = NULL;
|
||||
|
||||
Reference in New Issue
Block a user