Remove parameter from record_pending_block

This removes a redundant parameter from record_pending_block.  It also
moves record_pending_block earlier in the file, so that a forward
declaration is no longer needed.

gdb/ChangeLog
2018-07-20  Tom Tromey  <tom@tromey.com>

	* buildsym.c (record_pending_block): Move earlier.  Remove objfile
	parameter.
	(finish_block_internal): Update.
This commit is contained in:
Tom Tromey 2018-07-11 22:55:17 -06:00
parent b80a981d08
commit 6b213a4778
2 changed files with 31 additions and 34 deletions

View File

@ -1,3 +1,9 @@
2018-07-20 Tom Tromey <tom@tromey.com>
* buildsym.c (record_pending_block): Move earlier. Remove objfile
parameter.
(finish_block_internal): Update.
2018-07-20 Tom Tromey <tom@tromey.com>
* buildsym.h (EXTERN): Don't define or undef.

View File

@ -282,10 +282,6 @@ static void free_buildsym_compunit (void);
static int compare_line_numbers (const void *ln1p, const void *ln2p);
static void record_pending_block (struct objfile *objfile,
struct block *block,
struct pending_block *opblock);
/* Initial sizes of data structures. These are realloc'd larger if
needed, and realloc'd down to the size actually used, when
completed. */
@ -355,6 +351,30 @@ scoped_free_pendings::~scoped_free_pendings ()
free_buildsym_compunit ();
}
/* Record BLOCK on the list of all blocks in the file. Put it after
OPBLOCK, or at the beginning if opblock is NULL. This puts the
block in the list after all its subblocks. */
static void
record_pending_block (struct block *block, struct pending_block *opblock)
{
struct pending_block *pblock;
pblock = XOBNEW (&buildsym_compunit->m_pending_block_obstack,
struct pending_block);
pblock->block = block;
if (opblock)
{
pblock->next = opblock->next;
opblock->next = pblock;
}
else
{
pblock->next = buildsym_compunit->m_pending_blocks;
buildsym_compunit->m_pending_blocks = pblock;
}
}
/* Take one of the lists of symbols and make a block from it. Keep
the order the symbols have in the list (reversed from the input
file). Put the block on the list of pending blocks. */
@ -545,7 +565,7 @@ finish_block_internal (struct symbol *symbol,
else
buildsym_compunit->m_local_using_directives = NULL;
record_pending_block (objfile, block, opblock);
record_pending_block (block, opblock);
return block;
}
@ -561,35 +581,6 @@ finish_block (struct symbol *symbol,
start, end, 0, 0);
}
/* Record BLOCK on the list of all blocks in the file. Put it after
OPBLOCK, or at the beginning if opblock is NULL. This puts the
block in the list after all its subblocks.
Allocate the pending block struct in the objfile_obstack to save
time. This wastes a little space. FIXME: Is it worth it? */
static void
record_pending_block (struct objfile *objfile, struct block *block,
struct pending_block *opblock)
{
struct pending_block *pblock;
pblock = XOBNEW (&buildsym_compunit->m_pending_block_obstack,
struct pending_block);
pblock->block = block;
if (opblock)
{
pblock->next = opblock->next;
opblock->next = pblock;
}
else
{
pblock->next = buildsym_compunit->m_pending_blocks;
buildsym_compunit->m_pending_blocks = pblock;
}
}
/* Record that the range of addresses from START to END_INCLUSIVE
(inclusive, like it says) belongs to BLOCK. BLOCK's start and end
addresses must be set already. You must apply this function to all