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 09/27] Convert block_inlined_p to method
Date: Fri, 20 Jan 2023 14:46:00 -0700	[thread overview]
Message-ID: <20230120214618.3236224-10-tom@tromey.com> (raw)
In-Reply-To: <20230120214618.3236224-1-tom@tromey.com>

This converts block_inlined_p to be a method.  This was mostly written
by script.
---
 gdb/block.c        | 12 ++++++------
 gdb/block.h        |  6 ++++--
 gdb/blockframe.c   |  2 +-
 gdb/findvar.c      |  2 +-
 gdb/inline-frame.c |  4 ++--
 gdb/symtab.c       |  8 ++++----
 6 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/gdb/block.c b/gdb/block.c
index b9c48e79d46..574086aa4f6 100644
--- a/gdb/block.c
+++ b/gdb/block.c
@@ -77,7 +77,7 @@ contained_in (const struct block *a, const struct block *b,
 	return true;
       /* If A is a function block, then A cannot be contained in B,
 	 except if A was inlined.  */
-      if (!allow_nested && a->function () != NULL && !block_inlined_p (a))
+      if (!allow_nested && a->function () != NULL && !a->inlined_p ())
 	return false;
       a = a->superblock ();
     }
@@ -95,7 +95,7 @@ contained_in (const struct block *a, const struct block *b,
 struct symbol *
 block_linkage_function (const struct block *bl)
 {
-  while ((bl->function () == NULL || block_inlined_p (bl))
+  while ((bl->function () == NULL || bl->inlined_p ())
 	 && bl->superblock () != NULL)
     bl = bl->superblock ();
 
@@ -116,12 +116,12 @@ block_containing_function (const struct block *bl)
   return bl->function ();
 }
 
-/* Return one if BL represents an inlined function.  */
+/* See block.h.  */
 
-int
-block_inlined_p (const struct block *bl)
+bool
+block::inlined_p () const
 {
-  return bl->function () != NULL && bl->function ()->is_inlined ();
+  return function () != nullptr && function ()->is_inlined ();
 }
 
 /* A helper function that checks whether PC is in the blockvector BL.
diff --git a/gdb/block.h b/gdb/block.h
index b9f1ba81b50..ab343b44698 100644
--- a/gdb/block.h
+++ b/gdb/block.h
@@ -212,6 +212,10 @@ struct block
 
   struct gdbarch *gdbarch () const;
 
+  /* Return true if BL represents an inlined function.  */
+
+  bool inlined_p () const;
+
   /* Addresses in the executable code that are in this block.  */
 
   CORE_ADDR m_start;
@@ -343,8 +347,6 @@ extern struct symbol *block_linkage_function (const struct block *);
 
 extern struct symbol *block_containing_function (const struct block *);
 
-extern int block_inlined_p (const struct block *block);
-
 /* Return true if block A is lexically nested within block B, or if a
    and b have the same pc range.  Return false otherwise.  If
    ALLOW_NESTED is true, then block A is considered to be in block B
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 071254824b0..2796fc99154 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -72,7 +72,7 @@ get_frame_block (frame_info_ptr frame, CORE_ADDR *addr_in_block)
 
   while (inline_count > 0)
     {
-      if (block_inlined_p (bl))
+      if (bl->inlined_p ())
 	inline_count--;
 
       bl = bl->superblock ();
diff --git a/gdb/findvar.c b/gdb/findvar.c
index 02d498d8c58..656f982be2d 100644
--- a/gdb/findvar.c
+++ b/gdb/findvar.c
@@ -533,7 +533,7 @@ get_hosting_frame (struct symbol *var, const struct block *var_block,
       if (frame == NULL)
 	{
 	  if (var_block->function ()
-	      && !block_inlined_p (var_block)
+	      && !var_block->inlined_p ()
 	      && var_block->function ()->print_name ())
 	    error (_("No frame is currently executing in block %s."),
 		   var_block->function ()->print_name ());
diff --git a/gdb/inline-frame.c b/gdb/inline-frame.c
index f02f6353c64..21431a280fa 100644
--- a/gdb/inline-frame.c
+++ b/gdb/inline-frame.c
@@ -228,7 +228,7 @@ inline_frame_sniffer (const struct frame_unwind *self,
   cur_block = frame_block;
   while (cur_block->superblock ())
     {
-      if (block_inlined_p (cur_block))
+      if (cur_block->inlined_p ())
 	depth++;
       else if (cur_block->function () != NULL)
 	break;
@@ -357,7 +357,7 @@ skip_inline_frames (thread_info *thread, bpstat *stop_chain)
       cur_block = frame_block;
       while (cur_block->superblock ())
 	{
-	  if (block_inlined_p (cur_block))
+	  if (cur_block->inlined_p ())
 	    {
 	      /* See comments in inline_frame_this_id about this use
 		 of BLOCK_ENTRY_PC.  */
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 78f56d9d377..530de418e53 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -2206,7 +2206,7 @@ lookup_local_symbol (const char *name,
 	    return blocksym;
 	}
 
-      if (block->function () != NULL && block_inlined_p (block))
+      if (block->function () != NULL && block->inlined_p ())
 	break;
       block = block->superblock ();
     }
@@ -3927,7 +3927,7 @@ skip_prologue_sal (struct symtab_and_line *sal)
   function_block = NULL;
   while (b != NULL)
     {
-      if (b->function () != NULL && block_inlined_p (b))
+      if (b->function () != NULL && b->inlined_p ())
 	function_block = b;
       else if (b->function () != NULL)
 	break;
@@ -4023,7 +4023,7 @@ skip_prologue_using_sal (struct gdbarch *gdbarch, CORE_ADDR func_addr)
 	  bl = block_for_pc (prologue_sal.end);
 	  while (bl)
 	    {
-	      if (block_inlined_p (bl))
+	      if (bl->inlined_p ())
 		break;
 	      if (bl->function ())
 		{
@@ -5886,7 +5886,7 @@ default_collect_symbol_completion_matches_break_on
 	/* Stop when we encounter an enclosing function.  Do not stop for
 	   non-inlined functions - the locals of the enclosing function
 	   are in scope for a nested function.  */
-	if (b->function () != NULL && block_inlined_p (b))
+	if (b->function () != NULL && b->inlined_p ())
 	  break;
 	b = b->superblock ();
       }
-- 
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 ` [PATCH 07/27] Convert block_objfile to method Tom Tromey
2023-01-20 21:45 ` [PATCH 08/27] Convert block_gdbarch " Tom Tromey
2023-01-20 21:46 ` Tom Tromey [this message]
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-10-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).