public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
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


  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).