From 346d1dfebdbc5b7c8ce7d84f9250cbb8f4ec3e6c Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 10 Jun 2014 13:11:19 -0600 Subject: 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 * symtab.h (struct symtab) : 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. --- gdb/block.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gdb/block.h') diff --git a/gdb/block.h b/gdb/block.h index 2c3012a22fa..0e5d0bed68b 100644 --- a/gdb/block.h +++ b/gdb/block.h @@ -145,15 +145,15 @@ extern int block_inlined_p (const struct block *block); extern int contained_in (const struct block *, const struct block *); -extern struct blockvector *blockvector_for_pc (CORE_ADDR, +extern const struct blockvector *blockvector_for_pc (CORE_ADDR, const struct block **); -extern struct blockvector *blockvector_for_pc_sect (CORE_ADDR, - struct obj_section *, - const struct block **, - struct symtab *); +extern const struct blockvector *blockvector_for_pc_sect (CORE_ADDR, + struct obj_section *, + const struct block **, + struct symtab *); -extern int blockvector_contains_pc (struct blockvector *bv, CORE_ADDR pc); +extern int blockvector_contains_pc (const struct blockvector *bv, CORE_ADDR pc); extern struct call_site *call_site_for_pc (struct gdbarch *gdbarch, CORE_ADDR pc); -- cgit v1.2.1