Convert block_containing_function to method

This converts block_containing_function to be a method.  This was
mostly written by script.
This commit is contained in:
Tom Tromey 2023-01-16 17:48:19 -07:00
parent 3c9d050626
commit 99f3dfd0f9
4 changed files with 13 additions and 9 deletions

View File

@ -100,14 +100,13 @@ block::linkage_function () const
return bl->function ();
}
/* Return the symbol for the function which contains a specified
block, described by a struct block BL. The return value will be
the closest enclosing function, which might be an inline
function. */
/* See block.h. */
struct symbol *
block_containing_function (const struct block *bl)
block::containing_function () const
{
const block *bl = this;
while (bl->function () == NULL && bl->superblock () != NULL)
bl = bl->superblock ();

View File

@ -238,6 +238,13 @@ struct block
struct symbol *linkage_function () const;
/* Return the symbol for the function which contains a specified
block, described by a struct block. The return value will be the
closest enclosing function, which might be an inline
function. */
struct symbol *containing_function () const;
/* Addresses in the executable code that are in this block. */
CORE_ADDR m_start;
@ -371,8 +378,6 @@ struct blockvector
struct block *m_blocks[1];
};
extern struct symbol *block_containing_function (const struct 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

View File

@ -162,7 +162,7 @@ find_pc_sect_containing_function (CORE_ADDR pc, struct obj_section *section)
if (bl == nullptr)
return nullptr;
return block_containing_function (bl);
return bl->containing_function ();
}
/* These variables are used to cache the most recent result of

View File

@ -2128,7 +2128,7 @@ create_sals_line_offset (struct linespec_state *self,
if (filter[i])
{
struct symbol *sym = (blocks[i]
? block_containing_function (blocks[i])
? blocks[i]->containing_function ()
: NULL);
if (self->funfirstline)