summaryrefslogtreecommitdiff
path: root/gdb/buildsym.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/buildsym.c')
-rw-r--r--gdb/buildsym.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 71980ab5d09..63f60546056 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -309,12 +309,12 @@ finish_block (struct symbol *symbol, struct pending **listhead,
TYPE_FIELDS (ftype) = (struct field *)
TYPE_ALLOC (ftype, nparams * sizeof (struct field));
- for (sym = dict_iterator_first (BLOCK_DICT (block), &iter),
- iparams = 0;
- iparams < nparams;
- sym = dict_iterator_next (&iter))
+ iparams = 0;
+ ALL_BLOCK_SYMBOLS (block, iter, sym)
{
- gdb_assert (sym != NULL);
+ if (iparams == nparams)
+ break;
+
switch (SYMBOL_CLASS (sym))
{
case LOC_ARG:
@@ -439,6 +439,7 @@ finish_block (struct symbol *symbol, struct pending **listhead,
record_pending_block (objfile, block, opblock);
}
+
/* 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.