From patchwork Sat Mar 23 05:51:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 31948 Received: (qmail 31278 invoked by alias); 23 Mar 2019 05:51:54 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 31197 invoked by uid 89); 23 Mar 2019 05:51:53 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-15.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_STOCKGEN, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=uns, sal, non-const, nonconst X-HELO: gateway22.websitewelcome.com Received: from gateway22.websitewelcome.com (HELO gateway22.websitewelcome.com) (192.185.46.234) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 23 Mar 2019 05:51:49 +0000 Received: from cm17.websitewelcome.com (cm17.websitewelcome.com [100.42.49.20]) by gateway22.websitewelcome.com (Postfix) with ESMTP id 3D4AE410D for ; Sat, 23 Mar 2019 00:51:47 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id 7ZZKh1Rae90on7ZZKhHEB2; Sat, 23 Mar 2019 00:51:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=zKKurpWbcjkDvREGkBgSAsyHeFIhu5E5p5TAmXicXNc=; b=lLrDEdryxgna74W6CJMZKoNEMJ JUFT1ROgNVYKWmDo0Nhi2gvEnEC/ooO4SOjRDOdSIHvaFQXYxVYk6AKrhe/oOdNoNBvxKR3wCZlpi La8lv6OOrBMS+uZbAv+K0jMAa; Received: from 174-29-37-56.hlrn.qwest.net ([174.29.37.56]:35128 helo=bapiya.Home) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1h7ZZK-003NQX-Ki; Sat, 23 Mar 2019 00:51:46 -0500 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 1/3] More block constification Date: Fri, 22 Mar 2019 23:51:42 -0600 Message-Id: <20190323055144.6335-2-tom@tromey.com> In-Reply-To: <20190323055144.6335-1-tom@tromey.com> References: <20190323055144.6335-1-tom@tromey.com> I noticed that there are still many places referring to non-const blocks. This constifies all the remaining ones that I found that could be constified. In a few spots, this search found unused variables or fields. I removed these. I've also removed some unnecessary casts to "struct block *". gdb/ChangeLog 2019-03-22 Tom Tromey * c-exp.y (typebase): Remove casts. * gdbtypes.c (lookup_unsigned_typename, ) (lookup_signed_typename): Remove cast. * eval.c (parse_to_comma_and_eval): Remove cast. * parse.c (write_dollar_variable): Remove cast. * block.h (struct block) : Now const. * symfile-debug.c (debug_qf_map_matching_symbols): Update. * psymtab.c (psym_map_matching_symbols): Make "block" const. (map_block): Make "block" const. * symfile.h (struct quick_symbol_functions) : Constify block argument to "callback". * symtab.c (basic_lookup_transparent_type_quick): Make "block" const. (find_pc_sect_compunit_symtab): Make "b" const. (find_symbol_at_address): Likewise. (search_symbols): Likewise. * dwarf2read.c (dw2_lookup_symbol): Make "block" const. (dw2_debug_names_lookup_symbol): Likewise. (dw2_map_matching_symbols): Update. * p-valprint.c (pascal_val_print): Remove "block". * ada-lang.c (ada_add_global_exceptions): Make "b" const. (aux_add_nonlocal_symbols): Make "block" const. (resolve_subexp): Remove cast. * linespec.c (iterate_over_all_matching_symtabs): Make "block" const. (iterate_over_file_blocks): Likewise. * f-exp.y (%union) : Remove. * coffread.c (patch_opaque_types): Make "b" const. * spu-tdep.c (spu_catch_start): Make "block" const. * c-valprint.c (print_unpacked_pointer): Remove "block". * symmisc.c (dump_symtab_1): Make "b" const. (block_depth): Make "block" const. * d-exp.y (%union) : Remove. * cp-support.h (cp_lookup_rtti_type): Update. * cp-support.c (cp_lookup_rtti_type): Make "block" const. * psymtab.c (psym_lookup_symbol): Make "block" const. (maintenance_check_psymtabs): Make "b" const. * python/py-framefilter.c (extract_sym): Make "sym_block" const. (enumerate_locals, enumerate_args): Update. * python/py-symtab.c (stpy_global_block): Make "block" const. (stpy_static_block): Likewise. * inline-frame.c (block_starting_point_at): Make "new_block" const. * block.c (find_block_in_blockvector): Make return type const. (blockvector_for_pc_sect): Make "b" const. (find_block_in_blockvector): Make "b" const. --- gdb/ChangeLog | 49 +++++++++++++++++++++++++++++++++++++ gdb/ada-lang.c | 7 +++--- gdb/block.c | 8 +++--- gdb/block.h | 2 +- gdb/c-exp.y | 4 +-- gdb/c-valprint.c | 3 +-- gdb/coffread.c | 2 +- gdb/cp-support.c | 2 +- gdb/cp-support.h | 2 +- gdb/d-exp.y | 1 - gdb/dwarf2read.c | 6 ++--- gdb/eval.c | 2 +- gdb/f-exp.y | 1 - gdb/gdbtypes.c | 6 ++--- gdb/inline-frame.c | 5 ++-- gdb/linespec.c | 4 +-- gdb/p-valprint.c | 3 +-- gdb/parse.c | 3 +-- gdb/psymtab.c | 12 ++++----- gdb/python/py-framefilter.c | 6 ++--- gdb/python/py-symtab.c | 4 +-- gdb/spu-tdep.c | 2 +- gdb/symfile-debug.c | 2 +- gdb/symfile.h | 2 +- gdb/symmisc.c | 6 ++--- gdb/symtab.c | 8 +++--- 26 files changed, 99 insertions(+), 53 deletions(-) diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 7153436e738..6626164c37c 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -3562,7 +3562,7 @@ resolve_subexp (expression_up *expp, int *pos, int deprocedure_p, n_candidates = ada_lookup_symbol_list (ada_decoded_op_name (op), - (struct block *) NULL, VAR_DOMAIN, + NULL, VAR_DOMAIN, &candidates); i = ada_resolve_function (candidates.data (), n_candidates, argvec, @@ -5416,7 +5416,8 @@ struct match_data other has been found. */ static int -aux_add_nonlocal_symbols (struct block *block, struct symbol *sym, void *data0) +aux_add_nonlocal_symbols (const struct block *block, struct symbol *sym, + void *data0) { struct match_data *data = (struct match_data *) data0; @@ -13560,7 +13561,7 @@ ada_add_global_exceptions (compiled_regex *preg, for (i = GLOBAL_BLOCK; i <= STATIC_BLOCK; i++) { - struct block *b = BLOCKVECTOR_BLOCK (bv, i); + const struct block *b = BLOCKVECTOR_BLOCK (bv, i); struct block_iterator iter; struct symbol *sym; diff --git a/gdb/block.c b/gdb/block.c index 3192b33e9e9..63c7d9f3955 100644 --- a/gdb/block.c +++ b/gdb/block.c @@ -131,16 +131,16 @@ block_inlined_p (const struct block *bl) /* A helper function that checks whether PC is in the blockvector BL. It returns the containing block if there is one, or else NULL. */ -static struct block * +static const struct block * find_block_in_blockvector (const struct blockvector *bl, CORE_ADDR pc) { - struct block *b; + const struct block *b; int bot, top, half; /* If we have an addrmap mapping code addresses to blocks, then use that. */ if (BLOCKVECTOR_MAP (bl)) - return (struct block *) addrmap_find (BLOCKVECTOR_MAP (bl), pc); + return (const struct block *) addrmap_find (BLOCKVECTOR_MAP (bl), pc); /* Otherwise, use binary search to find the last block that starts before PC. @@ -186,7 +186,7 @@ blockvector_for_pc_sect (CORE_ADDR pc, struct obj_section *section, struct compunit_symtab *cust) { const struct blockvector *bl; - struct block *b; + const struct block *b; if (cust == NULL) { diff --git a/gdb/block.h b/gdb/block.h index d32114b9f59..9291deb6131 100644 --- a/gdb/block.h +++ b/gdb/block.h @@ -107,7 +107,7 @@ struct block case of C) is the STATIC_BLOCK. The superblock of the STATIC_BLOCK is the GLOBAL_BLOCK. */ - struct block *superblock; + const struct block *superblock; /* This is used to store the symbols in the block. */ diff --git a/gdb/c-exp.y b/gdb/c-exp.y index 508e9ef28dd..22768473a83 100644 --- a/gdb/c-exp.y +++ b/gdb/c-exp.y @@ -1391,13 +1391,13 @@ typebase { $$ = lookup_typename (parse_language (pstate), parse_gdbarch (pstate), "double", - (struct block *) NULL, + NULL, 0); } | LONG DOUBLE_KEYWORD { $$ = lookup_typename (parse_language (pstate), parse_gdbarch (pstate), "long double", - (struct block *) NULL, + NULL, 0); } | STRUCT name { $$ = lookup_struct (copy_name ($2), diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c index d5ddd3ece7a..c4306f1488f 100644 --- a/gdb/c-valprint.c +++ b/gdb/c-valprint.c @@ -197,7 +197,6 @@ print_unpacked_pointer (struct type *type, struct type *elttype, struct value *vt_val; struct symbol *wsym = NULL; struct type *wtype; - struct block *block = NULL; if (want_space) fputs_filtered (" ", stream); @@ -206,7 +205,7 @@ print_unpacked_pointer (struct type *type, struct type *elttype, { const char *search_name = MSYMBOL_SEARCH_NAME (msymbol.minsym); - wsym = lookup_symbol_search_name (search_name, block, + wsym = lookup_symbol_search_name (search_name, NULL, VAR_DOMAIN).symbol; } diff --git a/gdb/coffread.c b/gdb/coffread.c index 8c8e0784789..4354741ab64 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -1496,7 +1496,7 @@ patch_type (struct type *type, struct type *real_type) static void patch_opaque_types (struct symtab *s) { - struct block *b; + const struct block *b; struct block_iterator iter; struct symbol *real_sym; diff --git a/gdb/cp-support.c b/gdb/cp-support.c index e3d6112f23e..b79dd5c086f 100644 --- a/gdb/cp-support.c +++ b/gdb/cp-support.c @@ -1422,7 +1422,7 @@ add_symbol_overload_list_qualified (const char *func_name, /* Lookup the rtti type for a class name. */ struct type * -cp_lookup_rtti_type (const char *name, struct block *block) +cp_lookup_rtti_type (const char *name, const struct block *block) { struct symbol * rtti_sym; struct type * rtti_type; diff --git a/gdb/cp-support.h b/gdb/cp-support.h index 3df4cb9e4b8..c2e63ea0de3 100644 --- a/gdb/cp-support.h +++ b/gdb/cp-support.h @@ -118,7 +118,7 @@ extern void add_symbol_overload_list_adl std::vector *overload_list); extern struct type *cp_lookup_rtti_type (const char *name, - struct block *block); + const struct block *block); /* Produce an unsigned hash value from SEARCH_NAME that is compatible with cp_symbol_name_matches. Only the last component in diff --git a/gdb/d-exp.y b/gdb/d-exp.y index eab346c368a..a0f7b958c3f 100644 --- a/gdb/d-exp.y +++ b/gdb/d-exp.y @@ -97,7 +97,6 @@ static int type_aggregate_p (struct type *); struct symtoken ssym; int ival; int voidval; - struct block *bval; enum exp_opcode opcode; struct stoken_vector svec; } diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 7c07a10e8c0..658c86264bf 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -4082,7 +4082,7 @@ dw2_lookup_symbol (struct objfile *objfile, int block_index, struct symbol *sym, *with_opaque = NULL; struct compunit_symtab *stab = dw2_instantiate_symtab (per_cu, false); const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab); - struct block *block = BLOCKVECTOR_BLOCK (bv, block_index); + const struct block *block = BLOCKVECTOR_BLOCK (bv, block_index); sym = block_find_symbol (block, name, domain, block_find_non_opaque_type_preferred, @@ -4227,7 +4227,7 @@ static void dw2_map_matching_symbols (struct objfile *objfile, const char * name, domain_enum domain, int global, - int (*callback) (struct block *, + int (*callback) (const struct block *, struct symbol *, void *), void *data, symbol_name_match_type match, symbol_compare_ftype *ordered_compare) @@ -6083,7 +6083,7 @@ dw2_debug_names_lookup_symbol (struct objfile *objfile, int block_index_int, struct symbol *sym, *with_opaque = NULL; struct compunit_symtab *stab = dw2_instantiate_symtab (per_cu, false); const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab); - struct block *block = BLOCKVECTOR_BLOCK (bv, block_index); + const struct block *block = BLOCKVECTOR_BLOCK (bv, block_index); sym = block_find_symbol (block, name, domain, block_find_non_opaque_type_preferred, diff --git a/gdb/eval.c b/gdb/eval.c index 0c0cf7f6ac7..a431ce453dc 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -123,7 +123,7 @@ parse_and_eval (const char *exp) struct value * parse_to_comma_and_eval (const char **expp) { - expression_up expr = parse_exp_1 (expp, 0, (struct block *) 0, 1); + expression_up expr = parse_exp_1 (expp, 0, 0, 1); return evaluate_expression (expr.get ()); } diff --git a/gdb/f-exp.y b/gdb/f-exp.y index 7e838b0a93a..f99c26d326e 100644 --- a/gdb/f-exp.y +++ b/gdb/f-exp.y @@ -105,7 +105,6 @@ static struct type *convert_to_kind_type (struct type *basetype, int kind); struct ttype tsym; struct symtoken ssym; int voidval; - struct block *bval; enum exp_opcode opcode; struct internalvar *ivar; diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index db470dafacc..7a584172c5e 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -1528,7 +1528,7 @@ lookup_unsigned_typename (const struct language_defn *language, strcpy (uns, "unsigned "); strcpy (uns + 9, name); - return lookup_typename (language, gdbarch, uns, (struct block *) NULL, 0); + return lookup_typename (language, gdbarch, uns, NULL, 0); } struct type * @@ -1540,11 +1540,11 @@ lookup_signed_typename (const struct language_defn *language, strcpy (uns, "signed "); strcpy (uns + 7, name); - t = lookup_typename (language, gdbarch, uns, (struct block *) NULL, 1); + t = lookup_typename (language, gdbarch, uns, NULL, 1); /* If we don't find "signed FOO" just try again with plain "FOO". */ if (t != NULL) return t; - return lookup_typename (language, gdbarch, name, (struct block *) NULL, 0); + return lookup_typename (language, gdbarch, name, NULL, 0); } /* Lookup a structure type named "struct NAME", diff --git a/gdb/inline-frame.c b/gdb/inline-frame.c index a5e1f20ff74..214cb824976 100644 --- a/gdb/inline-frame.c +++ b/gdb/inline-frame.c @@ -266,13 +266,14 @@ static int block_starting_point_at (CORE_ADDR pc, const struct block *block) { const struct blockvector *bv; - struct block *new_block; + const struct block *new_block; bv = blockvector_for_pc (pc, NULL); if (BLOCKVECTOR_MAP (bv) == NULL) return 0; - new_block = (struct block *) addrmap_find (BLOCKVECTOR_MAP (bv), pc - 1); + new_block = (const struct block *) addrmap_find (BLOCKVECTOR_MAP (bv), + pc - 1); if (new_block == NULL) return 1; diff --git a/gdb/linespec.c b/gdb/linespec.c index e902b11c8e8..33fa9e1227a 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -1159,7 +1159,7 @@ iterate_over_all_matching_symtabs if (include_inline) { - struct block *block; + const struct block *block; int i; for (i = FIRST_LOCAL_BLOCK; @@ -1209,7 +1209,7 @@ iterate_over_file_blocks (struct symtab *symtab, const lookup_name_info &name, domain_enum domain, gdb::function_view callback) { - struct block *block; + const struct block *block; for (block = BLOCKVECTOR_BLOCK (SYMTAB_BLOCKVECTOR (symtab), STATIC_BLOCK); block != NULL; diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c index 0e816977181..b11292a86bc 100644 --- a/gdb/p-valprint.c +++ b/gdb/p-valprint.c @@ -248,7 +248,6 @@ pascal_val_print (struct type *type, struct value *vt_val; struct symbol *wsym = NULL; struct type *wtype; - struct block *block = NULL; if (want_space) fputs_filtered (" ", stream); @@ -257,7 +256,7 @@ pascal_val_print (struct type *type, { const char *search_name = MSYMBOL_SEARCH_NAME (msymbol.minsym); - wsym = lookup_symbol_search_name (search_name, block, + wsym = lookup_symbol_search_name (search_name, NULL, VAR_DOMAIN).symbol; } diff --git a/gdb/parse.c b/gdb/parse.c index 661574e544e..15ee3858632 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -650,8 +650,7 @@ write_dollar_variable (struct parser_state *ps, struct stoken str) /* On some systems, such as HP-UX and hppa-linux, certain system routines have names beginning with $ or $$. Check for those, first. */ - sym = lookup_symbol (copy_name (str), (struct block *) NULL, - VAR_DOMAIN, NULL); + sym = lookup_symbol (copy_name (str), NULL, VAR_DOMAIN, NULL); if (sym.symbol) { write_exp_elt_opcode (ps, OP_VAR_VALUE); diff --git a/gdb/psymtab.c b/gdb/psymtab.c index 96b4fa0bf88..584a5e97fd8 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -498,7 +498,7 @@ psym_lookup_symbol (struct objfile *objfile, partial symtab is empty, we can assume it won't here because lookup_partial_symbol succeeded. */ const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab); - struct block *block = BLOCKVECTOR_BLOCK (bv, block_index); + const struct block *block = BLOCKVECTOR_BLOCK (bv, block_index); sym = block_find_symbol (block, name, domain, block_find_non_opaque_type_preferred, @@ -1165,8 +1165,8 @@ psymtab_to_fullname (struct partial_symtab *ps) static int map_block (const char *name, domain_enum domain, struct objfile *objfile, - struct block *block, - int (*callback) (struct block *, struct symbol *, void *), + const struct block *block, + int (*callback) (const struct block *, struct symbol *, void *), void *data, symbol_name_match_type match) { struct block_iterator iter; @@ -1196,7 +1196,7 @@ static void psym_map_matching_symbols (struct objfile *objfile, const char *name, domain_enum domain, int global, - int (*callback) (struct block *, + int (*callback) (const struct block *, struct symbol *, void *), void *data, symbol_name_match_type match, @@ -1212,7 +1212,7 @@ psym_map_matching_symbols (struct objfile *objfile, ordered_compare)) { struct compunit_symtab *cust = psymtab_to_symtab (objfile, ps); - struct block *block; + const struct block *block; if (cust == NULL) continue; @@ -2095,7 +2095,7 @@ maintenance_check_psymtabs (const char *ignore, int from_tty) struct symbol *sym; struct compunit_symtab *cust = NULL; const struct blockvector *bv; - struct block *b; + const struct block *b; int length; for (objfile *objfile : current_program_space->objfiles ()) diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c index 7f416cb6d30..7b241bbed89 100644 --- a/gdb/python/py-framefilter.c +++ b/gdb/python/py-framefilter.c @@ -54,7 +54,7 @@ enum mi_print_types static enum ext_lang_bt_status extract_sym (PyObject *obj, gdb::unique_xmalloc_ptr *name, - struct symbol **sym, struct block **sym_block, + struct symbol **sym, const struct block **sym_block, const struct language_defn **language) { gdbpy_ref<> result (PyObject_CallMethod (obj, "symbol", NULL)); @@ -449,7 +449,7 @@ enumerate_args (PyObject *iter, const struct language_defn *language; gdb::unique_xmalloc_ptr sym_name; struct symbol *sym; - struct block *sym_block; + const struct block *sym_block; struct value *val; enum ext_lang_bt_status success = EXT_LANG_BT_ERROR; @@ -567,7 +567,7 @@ enumerate_locals (PyObject *iter, struct value *val; enum ext_lang_bt_status success = EXT_LANG_BT_ERROR; struct symbol *sym; - struct block *sym_block; + const struct block *sym_block; int local_indent = 8 + (8 * indent); gdb::optional tuple; diff --git a/gdb/python/py-symtab.c b/gdb/python/py-symtab.c index 0fef6e4747d..15af3001505 100644 --- a/gdb/python/py-symtab.c +++ b/gdb/python/py-symtab.c @@ -176,7 +176,7 @@ static PyObject * stpy_global_block (PyObject *self, PyObject *args) { struct symtab *symtab = NULL; - struct block *block = NULL; + const struct block *block = NULL; const struct blockvector *blockvector; STPY_REQUIRE_VALID (self, symtab); @@ -192,7 +192,7 @@ static PyObject * stpy_static_block (PyObject *self, PyObject *args) { struct symtab *symtab = NULL; - struct block *block = NULL; + const struct block *block = NULL; const struct blockvector *blockvector; STPY_REQUIRE_VALID (self, symtab); diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c index a9bab946bdb..c3f5d4e6a78 100644 --- a/gdb/spu-tdep.c +++ b/gdb/spu-tdep.c @@ -1963,7 +1963,7 @@ spu_catch_start (struct objfile *objfile) if (cust != NULL) { const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (cust); - struct block *block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK); + const struct block *block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK); struct symbol *sym; struct symtab_and_line sal; diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c index 9dc18807326..5b3ae926504 100644 --- a/gdb/symfile-debug.c +++ b/gdb/symfile-debug.c @@ -240,7 +240,7 @@ static void debug_qf_map_matching_symbols (struct objfile *objfile, const char *name, domain_enum domain, int global, - int (*callback) (struct block *, + int (*callback) (const struct block *, struct symbol *, void *), void *data, symbol_name_match_type match, diff --git a/gdb/symfile.h b/gdb/symfile.h index 64d5a23f9b2..a873dfe9451 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -227,7 +227,7 @@ struct quick_symbol_functions void (*map_matching_symbols) (struct objfile *, const char *name, domain_enum domain, int global, - int (*callback) (struct block *, + int (*callback) (const struct block *, struct symbol *, void *), void *data, symbol_name_match_type match, diff --git a/gdb/symmisc.c b/gdb/symmisc.c index cb0b5a52e47..58f75bd5485 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -52,7 +52,7 @@ FILE *std_err; /* Prototypes for local functions */ -static int block_depth (struct block *); +static int block_depth (const struct block *); static void print_symbol (struct gdbarch *gdbarch, struct symbol *symbol, int depth, ui_file *outfile); @@ -278,7 +278,7 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile) struct linetable *l; const struct blockvector *bv; struct symbol *sym; - struct block *b; + const struct block *b; int depth; fprintf_filtered (outfile, "\nSymtab for file %s\n", @@ -954,7 +954,7 @@ maintenance_expand_symtabs (const char *args, int from_tty) /* Return the nexting depth of a block within other blocks in its symtab. */ static int -block_depth (struct block *block) +block_depth (const struct block *block) { int i = 0; diff --git a/gdb/symtab.c b/gdb/symtab.c index 449bc4cd2b3..a99bd8e2d7f 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -2752,7 +2752,7 @@ basic_lookup_transparent_type_quick (struct objfile *objfile, int block_index, { struct compunit_symtab *cust; const struct blockvector *bv; - struct block *block; + const struct block *block; struct symbol *sym; if (!objfile->sf) @@ -2922,7 +2922,7 @@ find_pc_sect_compunit_symtab (CORE_ADDR pc, struct obj_section *section) { for (compunit_symtab *cust : obj_file->compunits ()) { - struct block *b; + const struct block *b; const struct blockvector *bv; bv = COMPUNIT_BLOCKVECTOR (cust); @@ -3026,7 +3026,7 @@ find_symbol_at_address (CORE_ADDR address) for (int i = GLOBAL_BLOCK; i <= STATIC_BLOCK; ++i) { - struct block *b = BLOCKVECTOR_BLOCK (bv, i); + const struct block *b = BLOCKVECTOR_BLOCK (bv, i); struct block_iterator iter; struct symbol *sym; @@ -4357,7 +4357,7 @@ search_symbols (const char *regexp, enum search_domain kind, int nfiles, const char *files[]) { const struct blockvector *bv; - struct block *b; + const struct block *b; int i = 0; struct block_iterator iter; struct symbol *sym;