[RFA 25/42] Remove the "listhead" argument from finish_block

Tom Tromey
2018-05-23T04:59:18Z

finish_block is only ever called with "&local_symbols" as the
"listhead" argument. So, remove this argument.

gdb/ChangeLog
2018-05-22 Tom Tromey <tom@tromey.com>

* xcoffread.c (read_xcoff_symtab): Update.
* dwarf2read.c (read_func_scope, read_lexical_block_scope):
Update.
* dbxread.c (process_one_symbol): Update.
* coffread.c (coff_symtab_read): Update.
* buildsym.h (finish_block): Update.
* buildsym.c (finish_block): Remove "listhead" argument.
(end_symtab_get_static_block): Update.
---
gdb/ChangeLog | 11 +++++++++++
gdb/buildsym.c | 5 ++---
gdb/buildsym.h | 1 -
gdb/coffread.c | 4 ++--
gdb/dbxread.c | 6 +++---
gdb/dwarf2read.c | 4 ++--
gdb/xcoffread.c | 4 ++--
7 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 3f367a3b55..516dac6b7e 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -586,12 +586,11 @@ finish_block_internal (struct symbol *symbol,

struct block *
finish_block (struct symbol *symbol,
- struct pending **listhead,
struct pending_block *old_blocks,
const struct dynamic_prop *static_link,
CORE_ADDR start, CORE_ADDR end)
{
- return finish_block_internal (symbol, listhead, old_blocks, static_link,
+ return finish_block_internal (symbol, &local_symbols, old_blocks, static_link,
start, end, 0, 0);
}

@@ -1206,7 +1205,7 @@ end_symtab_get_static_block (CORE_ADDR end_addr, int expandable, int required)
struct context_stack *cstk = pop_context ();

/* Make a block for the local symbols within. */
- finish_block (cstk->name, &local_symbols, cstk->old_blocks, NULL,
+ finish_block (cstk->name, cstk->old_blocks, NULL,
cstk->start_addr, end_addr);

if (!buildsym_compunit->m_context_stack.empty ())
diff --git a/gdb/buildsym.h b/gdb/buildsym.h
index ad56ac597f..969afbc828 100644
--- a/gdb/buildsym.h
+++ b/gdb/buildsym.h
@@ -144,7 +144,6 @@ extern struct symbol *find_symbol_in_list (struct pending *list,
char *name, int length);

extern struct block *finish_block (struct symbol *symbol,
- struct pending **listhead,
struct pending_block *old_blocks,
const struct dynamic_prop *static_link,
CORE_ADDR start,
diff --git a/gdb/coffread.c b/gdb/coffread.c
index a8e3f59a65..71b6ed9995 100644
--- a/gdb/coffread.c
+++ b/gdb/coffread.c
@@ -1139,7 +1139,7 @@ coff_symtab_read (minimal_symbol_reader &reader,
enter_linenos (fcn_line_ptr, fcn_first_line,
fcn_last_line, objfile);

- finish_block (newobj->name, &local_symbols, newobj->old_blocks,
+ finish_block (newobj->name, newobj->old_blocks,
NULL, newobj->start_addr,
fcn_cs_saved.c_value
+ fcn_aux_saved.x_sym.x_misc.x_fsize
@@ -1183,7 +1183,7 @@ coff_symtab_read (minimal_symbol_reader &reader,
cs->c_value + ANOFFSET (objfile->section_offsets,
SECT_OFF_TEXT (objfile));
/* Make a block for the local symbols within. */
- finish_block (0, &local_symbols, newobj->old_blocks, NULL,
+ finish_block (0, newobj->old_blocks, NULL,
newobj->start_addr, tmpaddr);
}
/* Now pop locals of block just finished. */
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 713178809b..b6a44e245e 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -2579,7 +2579,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, const char *name,
newobj = pop_context ();

/* Make a block for the local symbols within. */
- block = finish_block (newobj->name, &local_symbols,
+ block = finish_block (newobj->name,
newobj->old_blocks, NULL,
newobj->start_addr, newobj->start_addr + valu);

@@ -2668,7 +2668,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, const char *name,
newobj->start_addr = valu;
}
/* Make a block for the local symbols within. */
- finish_block (0, &local_symbols, newobj->old_blocks, NULL,
+ finish_block (0, newobj->old_blocks, NULL,
newobj->start_addr, valu);
}
}
@@ -2956,7 +2956,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, const char *name,

newobj = pop_context ();
/* Make a block for the local symbols within. */
- block = finish_block (newobj->name, &local_symbols,
+ block = finish_block (newobj->name,
newobj->old_blocks, NULL,
newobj->start_addr, valu);

diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 131dcfbb55..ffea27c064 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -13734,7 +13734,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)

newobj = pop_context ();
/* Make a block for the local symbols within. */
- block = finish_block (newobj->name, &local_symbols, newobj->old_blocks,
+ block = finish_block (newobj->name, newobj->old_blocks,
newobj->static_link, lowpc, highpc);

/* For C++, set the block's scope. */
@@ -13831,7 +13831,7 @@ read_lexical_block_scope (struct die_info *die, struct dwarf2_cu *cu)
if (local_symbols != NULL || (*get_local_using_directives ()) != NULL)
{
struct block *block
- = finish_block (0, &local_symbols, newobj->old_blocks, NULL,
+ = finish_block (0, newobj->old_blocks, NULL,
newobj->start_addr, highpc);

/* Note that recording ranges after traversing children, as we
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index af03c11e8b..73e0638412 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -1412,7 +1412,7 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
break;
}

- finish_block (newobj->name, &local_symbols, newobj->old_blocks,
+ finish_block (newobj->name, newobj->old_blocks,
NULL, newobj->start_addr,
(fcn_cs_saved.c_value
+ fcn_aux_saved.x_sym.x_misc.x_fsize
@@ -1504,7 +1504,7 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
if (local_symbols && !outermost_context_p ())
{
/* Make a block for the local symbols within. */
- finish_block (newobj->name, &local_symbols,
+ finish_block (newobj->name,
newobj->old_blocks, NULL,
newobj->start_addr,
(cs->c_value
--
2.13.6