From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Cc: Tom Tromey <tom@tromey.com>
Subject: [PATCH 07/27] Convert block_objfile to method
Date: Fri, 20 Jan 2023 14:45:58 -0700 [thread overview]
Message-ID: <20230120214618.3236224-8-tom@tromey.com> (raw)
In-Reply-To: <20230120214618.3236224-1-tom@tromey.com>
This converts block_objfile to be a method. This was mostly written
by script.
---
gdb/ada-exp.y | 2 +-
gdb/block.c | 12 ++++++------
gdb/block.h | 8 ++++----
gdb/cp-support.c | 2 +-
gdb/expop.h | 2 +-
gdb/printcmd.c | 2 +-
gdb/symtab.c | 10 +++++-----
gdb/varobj.c | 2 +-
8 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y
index 2f466e4de0a..9e9ff8d75d4 100644
--- a/gdb/ada-exp.y
+++ b/gdb/ada-exp.y
@@ -1699,7 +1699,7 @@ write_var_or_type (struct parser_state *par_state,
{
struct objfile *objfile = nullptr;
if (block != nullptr)
- objfile = block_objfile (block);
+ objfile = block->objfile ();
struct bound_minimal_symbol msym
= ada_lookup_simple_minsym (decoded_name.c_str (), objfile);
diff --git a/gdb/block.c b/gdb/block.c
index 5751a6b6f84..d7d5f0bf19e 100644
--- a/gdb/block.c
+++ b/gdb/block.c
@@ -40,14 +40,14 @@ struct block_namespace_info : public allocate_on_obstack
/* See block.h. */
struct objfile *
-block_objfile (const struct block *block)
+block::objfile () const
{
const struct global_block *global_block;
- if (block->function () != nullptr)
- return block->function ()->objfile ();
+ if (function () != nullptr)
+ return function ()->objfile ();
- global_block = (struct global_block *) block_global_block (block);
+ global_block = (struct global_block *) block_global_block (this);
return global_block->compunit_symtab->objfile ();
}
@@ -59,7 +59,7 @@ block_gdbarch (const struct block *block)
if (block->function () != nullptr)
return block->function ()->arch ();
- return block_objfile (block)->arch ();
+ return block->objfile ()->arch ();
}
/* See block.h. */
@@ -434,7 +434,7 @@ set_block_compunit_symtab (struct block *block, struct compunit_symtab *cu)
struct dynamic_prop *
block_static_link (const struct block *block)
{
- struct objfile *objfile = block_objfile (block);
+ struct objfile *objfile = block->objfile ();
/* Only objfile-owned blocks that materialize top function scopes can have
static links. */
diff --git a/gdb/block.h b/gdb/block.h
index 379359f07be..2243c9a2a52 100644
--- a/gdb/block.h
+++ b/gdb/block.h
@@ -204,6 +204,10 @@ struct block
return this->ranges ()[0].start ();
}
+ /* Return the objfile of this block. */
+
+ struct objfile *objfile () const;
+
/* Addresses in the executable code that are in this block. */
CORE_ADDR m_start;
@@ -331,10 +335,6 @@ struct blockvector
struct block *m_blocks[1];
};
-/* Return the objfile of BLOCK, which must be non-NULL. */
-
-extern struct objfile *block_objfile (const struct block *block);
-
/* Return the architecture of BLOCK, which must be non-NULL. */
extern struct gdbarch *block_gdbarch (const struct block *block);
diff --git a/gdb/cp-support.c b/gdb/cp-support.c
index 38225a6d9ba..be4a636336d 100644
--- a/gdb/cp-support.c
+++ b/gdb/cp-support.c
@@ -1466,7 +1466,7 @@ add_symbol_overload_list_qualified (const char *func_name,
symbols which match. */
const block *block = get_selected_block (0);
- struct objfile *current_objfile = block ? block_objfile (block) : nullptr;
+ struct objfile *current_objfile = block ? block->objfile () : nullptr;
gdbarch_iterate_over_objfiles_in_search_order
(current_objfile ? current_objfile->arch () : target_gdbarch (),
diff --git a/gdb/expop.h b/gdb/expop.h
index de74e88998f..03e8b8aae1d 100644
--- a/gdb/expop.h
+++ b/gdb/expop.h
@@ -231,7 +231,7 @@ check_objfile (struct symbol *sym, struct objfile *objfile)
static inline bool
check_objfile (const struct block *block, struct objfile *objfile)
{
- return check_objfile (block_objfile (block), objfile);
+ return check_objfile (block->objfile (), objfile);
}
static inline bool
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 7f3551327a8..e3ee847a955 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -2355,7 +2355,7 @@ clear_dangling_display_expressions (struct objfile *objfile)
struct objfile *bl_objf = nullptr;
if (d->block != nullptr)
{
- bl_objf = block_objfile (d->block);
+ bl_objf = d->block->objfile ();
if (bl_objf->separate_debug_objfile_backlink != nullptr)
bl_objf = bl_objf->separate_debug_objfile_backlink;
}
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 924bd5d8ec0..60bed9f0b4b 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -1994,7 +1994,7 @@ lookup_language_this (const struct language_defn *lang,
symbol_lookup_debug_printf_v ("lookup_language_this (%s, %s (objfile %s))",
lang->name (), host_address_to_string (block),
- objfile_debug_name (block_objfile (block)));
+ objfile_debug_name (block->objfile ()));
while (block)
{
@@ -2082,7 +2082,7 @@ lookup_symbol_aux (const char *name, symbol_name_match_type match_type,
if (symbol_lookup_debug)
{
struct objfile *objfile = (block == nullptr
- ? nullptr : block_objfile (block));
+ ? nullptr : block->objfile ());
symbol_lookup_debug_printf
("demangled symbol name = \"%s\", block @ %s (objfile %s)",
@@ -2228,7 +2228,7 @@ lookup_symbol_in_block (const char *name, symbol_name_match_type match_type,
if (symbol_lookup_debug)
{
struct objfile *objfile
- = block == nullptr ? nullptr : block_objfile (block);
+ = block == nullptr ? nullptr : block->objfile ();
symbol_lookup_debug_printf_v
("lookup_symbol_in_block (%s, %s (objfile %s), %s)",
@@ -2498,7 +2498,7 @@ lookup_symbol_in_static_block (const char *name,
if (symbol_lookup_debug)
{
struct objfile *objfile = (block == nullptr
- ? nullptr : block_objfile (block));
+ ? nullptr : block->objfile ());
symbol_lookup_debug_printf
("lookup_symbol_in_static_block (%s, %s (objfile %s), %s)",
@@ -2638,7 +2638,7 @@ lookup_global_symbol (const char *name,
struct objfile *objfile = nullptr;
if (block != nullptr)
{
- objfile = block_objfile (block);
+ objfile = block->objfile ();
if (objfile->separate_debug_objfile_backlink != nullptr)
objfile = objfile->separate_debug_objfile_backlink;
}
diff --git a/gdb/varobj.c b/gdb/varobj.c
index eb47ecada3e..58a3ad5041a 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -2397,7 +2397,7 @@ varobj_invalidate_if_uses_objfile (struct objfile *objfile)
{
if (var->root->valid_block != nullptr)
{
- struct objfile *bl_objfile = block_objfile (var->root->valid_block);
+ struct objfile *bl_objfile = var->root->valid_block->objfile ();
if (bl_objfile->separate_debug_objfile_backlink != nullptr)
bl_objfile = bl_objfile->separate_debug_objfile_backlink;
--
2.39.0
next prev parent reply other threads:[~2023-01-20 21:46 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-20 21:45 [PATCH 00/27] C++-ify struct block Tom Tromey
2023-01-20 21:45 ` [PATCH 01/27] Rearrange block.c to avoid a forward declaration Tom Tromey
2023-01-20 21:45 ` [PATCH 02/27] Avoid extra allocations in block Tom Tromey
2023-01-20 21:45 ` [PATCH 03/27] Don't allow NULL as an argument to block_scope Tom Tromey
2023-01-20 21:45 ` [PATCH 04/27] Don't allow NULL as an argument to block_using Tom Tromey
2023-01-20 21:45 ` [PATCH 05/27] Don't allow NULL as an argument to block_static_block Tom Tromey
2023-01-20 21:45 ` [PATCH 06/27] Don't allow NULL as an argument to block_global_block Tom Tromey
2023-01-20 21:45 ` Tom Tromey [this message]
2023-01-20 21:45 ` [PATCH 08/27] Convert block_gdbarch to method Tom Tromey
2023-01-20 21:46 ` [PATCH 09/27] Convert block_inlined_p " Tom Tromey
2023-01-20 21:46 ` [PATCH 10/27] Convert more block functions to methods Tom Tromey
2023-01-20 21:46 ` [PATCH 11/27] Convert block_linkage_function to method Tom Tromey
2023-01-20 21:46 ` [PATCH 12/27] Convert block_containing_function " Tom Tromey
2023-01-20 21:46 ` [PATCH 13/27] Convert block_static_block and block_global_block to methods Tom Tromey
2023-01-20 21:46 ` [PATCH 14/27] Convert set_block_compunit_symtab to method Tom Tromey
2023-01-20 21:46 ` [PATCH 15/27] Convert block_static_link " Tom Tromey
2023-01-20 21:46 ` [PATCH 16/27] Store 'name' in block_iterator Tom Tromey
2023-01-20 21:46 ` [PATCH 17/27] Combine both styles of block iterator Tom Tromey
2023-01-20 21:46 ` [PATCH 18/27] Introduce a block iterator wrapper Tom Tromey
2023-01-20 21:46 ` [PATCH 19/27] Convert explicit iterator uses to foreach Tom Tromey
2023-01-20 21:46 ` [PATCH 20/27] Remove ALL_BLOCK_SYMBOLS_WITH_NAME Tom Tromey
2023-01-20 21:46 ` [PATCH 21/27] Remove ALL_BLOCK_SYMBOLS Tom Tromey
2023-01-20 21:46 ` [PATCH 22/27] Fix memory leak in mdebugread.c Tom Tromey
2023-01-20 21:46 ` [PATCH 23/27] Use 'new' for block and global_block Tom Tromey
2023-01-20 21:46 ` [PATCH 24/27] Have global_block inherit from block Tom Tromey
2023-01-20 21:46 ` [PATCH 25/27] Remove allocate_block and allocate_global_block Tom Tromey
2023-01-20 21:46 ` [PATCH 26/27] Make block members 'private' Tom Tromey
2023-01-20 21:46 ` [PATCH 27/27] Convert contained_in to method Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230120214618.3236224-8-tom@tromey.com \
--to=tom@tromey.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).