public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] gdb: remove BLOCK_MULTIDICT macro
@ 2022-04-28 2:39 Simon Marchi
0 siblings, 0 replies; only message in thread
From: Simon Marchi @ 2022-04-28 2:39 UTC (permalink / raw)
To: gdb-cvs
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=24d74bb5df30de096f0271d33ab4f17434cf2c49
commit 24d74bb5df30de096f0271d33ab4f17434cf2c49
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Jan 28 16:18:09 2022 -0500
gdb: remove BLOCK_MULTIDICT macro
Replace with equivalent methods.
Change-Id: If9a239c511a664f2a59fecb6d1cd579881b23dc2
Diff:
---
gdb/block.c | 12 ++++++------
gdb/block.h | 11 +++++++++--
gdb/buildsym.c | 24 ++++++++++++------------
gdb/jit.c | 8 ++++----
gdb/mdebugread.c | 6 +++---
gdb/objfiles.c | 2 +-
gdb/symmisc.c | 4 ++--
7 files changed, 37 insertions(+), 30 deletions(-)
diff --git a/gdb/block.c b/gdb/block.c
index 9c4ed260abb..5a6282bd1a9 100644
--- a/gdb/block.c
+++ b/gdb/block.c
@@ -545,7 +545,7 @@ block_iterator_step (struct block_iterator *iterator, int first)
block = BLOCKVECTOR_BLOCK (cust->blockvector (),
iterator->which);
- sym = mdict_iterator_first (BLOCK_MULTIDICT (block),
+ sym = mdict_iterator_first (block->multidict (),
&iterator->mdict_iter);
}
else
@@ -571,7 +571,7 @@ block_iterator_first (const struct block *block,
initialize_block_iterator (block, iterator);
if (iterator->which == FIRST_LOCAL_BLOCK)
- return mdict_iterator_first (block->multidict, &iterator->mdict_iter);
+ return mdict_iterator_first (block->multidict (), &iterator->mdict_iter);
return block_iterator_step (iterator, 1);
}
@@ -614,7 +614,7 @@ block_iter_match_step (struct block_iterator *iterator,
block = BLOCKVECTOR_BLOCK (cust->blockvector (),
iterator->which);
- sym = mdict_iter_match_first (BLOCK_MULTIDICT (block), name,
+ sym = mdict_iter_match_first (block->multidict (), name,
&iterator->mdict_iter);
}
else
@@ -641,7 +641,7 @@ block_iter_match_first (const struct block *block,
initialize_block_iterator (block, iterator);
if (iterator->which == FIRST_LOCAL_BLOCK)
- return mdict_iter_match_first (block->multidict, name,
+ return mdict_iter_match_first (block->multidict (), name,
&iterator->mdict_iter);
return block_iter_match_step (iterator, name, 1);
@@ -779,8 +779,8 @@ block_lookup_symbol_primary (const struct block *block, const char *name,
|| block->superblock ()->superblock () == NULL);
other = NULL;
- for (sym
- = mdict_iter_match_first (block->multidict, lookup_name, &mdict_iter);
+ for (sym = mdict_iter_match_first (block->multidict (), lookup_name,
+ &mdict_iter);
sym != NULL;
sym = mdict_iter_match_next (lookup_name, &mdict_iter))
{
diff --git a/gdb/block.h b/gdb/block.h
index a5f931e354e..d0ae2708095 100644
--- a/gdb/block.h
+++ b/gdb/block.h
@@ -122,6 +122,14 @@ struct block
void set_superblock (const block *superblock)
{ m_superblock = superblock; }
+ /* Return this block's multidict. */
+ multidictionary *multidict () const
+ { return m_multidict; }
+
+ /* Set this block's multidict. */
+ void set_multidict (multidictionary *multidict)
+ { m_multidict = multidict; }
+
/* Addresses in the executable code that are in this block. */
CORE_ADDR m_start;
@@ -142,7 +150,7 @@ struct block
/* This is used to store the symbols in the block. */
- struct multidictionary *multidict;
+ struct multidictionary *m_multidict;
/* Contains information about namespace-related info relevant to this block:
using directives and the current namespace scope. */
@@ -170,7 +178,6 @@ struct global_block
struct compunit_symtab *compunit_symtab;
};
-#define BLOCK_MULTIDICT(bl) (bl)->multidict
#define BLOCK_NAMESPACE(bl) (bl)->namespace_info
/* Accessor for ranges field within block BL. */
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 5c5fc207d6e..d0f00d49f91 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -217,20 +217,21 @@ buildsym_compunit::finish_block_internal
if (symbol)
{
- BLOCK_MULTIDICT (block)
- = mdict_create_linear (&m_objfile->objfile_obstack, *listhead);
+ block->set_multidict
+ (mdict_create_linear (&m_objfile->objfile_obstack, *listhead));
}
else
{
if (expandable)
{
- BLOCK_MULTIDICT (block) = mdict_create_hashed_expandable (m_language);
- mdict_add_pending (BLOCK_MULTIDICT (block), *listhead);
+ block->set_multidict
+ (mdict_create_hashed_expandable (m_language));
+ mdict_add_pending (block->multidict (), *listhead);
}
else
{
- BLOCK_MULTIDICT (block) =
- mdict_create_hashed (&m_objfile->objfile_obstack, *listhead);
+ block->set_multidict
+ (mdict_create_hashed (&m_objfile->objfile_obstack, *listhead));
}
}
@@ -256,7 +257,7 @@ buildsym_compunit::finish_block_internal
/* Here we want to directly access the dictionary, because
we haven't fully initialized the block yet. */
- ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (block), miter, sym)
+ ALL_DICT_SYMBOLS (block->multidict (), miter, sym)
{
if (sym->is_argument ())
nparams++;
@@ -271,7 +272,7 @@ buildsym_compunit::finish_block_internal
iparams = 0;
/* Here we want to directly access the dictionary, because
we haven't fully initialized the block yet. */
- ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (block), miter, sym)
+ ALL_DICT_SYMBOLS (block->multidict (), miter, sym)
{
if (iparams == nparams)
break;
@@ -1013,7 +1014,7 @@ buildsym_compunit::end_compunit_symtab_with_blockvector
/* Note that we only want to fix up symbols from the local
blocks, not blocks coming from included symtabs. That is why
we use ALL_DICT_SYMBOLS here and not ALL_BLOCK_SYMBOLS. */
- ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (block), miter, sym)
+ ALL_DICT_SYMBOLS (block->multidict (), miter, sym)
if (sym->symtab () == NULL)
sym->set_symtab (symtab);
}
@@ -1148,7 +1149,7 @@ buildsym_compunit::augment_type_symtab ()
to the primary symtab. */
set_missing_symtab (m_file_symbols, cust);
- mdict_add_pending (BLOCK_MULTIDICT (block), m_file_symbols);
+ mdict_add_pending (block->multidict (), m_file_symbols);
}
if (m_global_symbols != NULL)
@@ -1159,8 +1160,7 @@ buildsym_compunit::augment_type_symtab ()
to the primary symtab. */
set_missing_symtab (m_global_symbols, cust);
- mdict_add_pending (BLOCK_MULTIDICT (block),
- m_global_symbols);
+ mdict_add_pending (block->multidict (), m_global_symbols);
}
}
diff --git a/gdb/jit.c b/gdb/jit.c
index 1283d2edc50..4ff180d4873 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -580,8 +580,8 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
TARGET_CHAR_BIT,
"void");
- BLOCK_MULTIDICT (new_block)
- = mdict_create_linear (&objfile->objfile_obstack, NULL);
+ new_block->set_multidict
+ (mdict_create_linear (&objfile->objfile_obstack, NULL));
/* The address range. */
new_block->set_start (gdb_block_iter.begin);
new_block->set_end (gdb_block_iter.end);
@@ -618,8 +618,8 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
new_block = (i == GLOBAL_BLOCK
? allocate_global_block (&objfile->objfile_obstack)
: allocate_block (&objfile->objfile_obstack));
- BLOCK_MULTIDICT (new_block)
- = mdict_create_linear (&objfile->objfile_obstack, NULL);
+ new_block->set_multidict
+ (mdict_create_linear (&objfile->objfile_obstack, NULL));
new_block->set_superblock (block_iter);
block_iter = new_block;
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index ddf3cd58253..cd242967ab7 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -4489,7 +4489,7 @@ static void
add_symbol (struct symbol *s, struct symtab *symtab, struct block *b)
{
s->set_symtab (symtab);
- mdict_add_symbol (BLOCK_MULTIDICT (b), s);
+ mdict_add_symbol (b->multidict (), s);
}
/* Add a new block B to a symtab S. */
@@ -4733,9 +4733,9 @@ new_block (enum block_type type, enum language language)
struct block *retval = XCNEW (struct block);
if (type == FUNCTION_BLOCK)
- BLOCK_MULTIDICT (retval) = mdict_create_linear_expandable (language);
+ retval->set_multidict (mdict_create_linear_expandable (language));
else
- BLOCK_MULTIDICT (retval) = mdict_create_hashed_expandable (language);
+ retval->set_multidict (mdict_create_hashed_expandable (language));
return retval;
}
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index e664bcd2da9..a709d947da0 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -689,7 +689,7 @@ objfile_relocate1 (struct objfile *objfile,
/* We only want to iterate over the local symbols, not any
symbols in included symtabs. */
- ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (b), miter, sym)
+ ALL_DICT_SYMBOLS (b->multidict (), miter, sym)
{
relocate_one_symbol (sym, objfile, delta);
}
diff --git a/gdb/symmisc.c b/gdb/symmisc.c
index e49322c2a84..3699e82d0c4 100644
--- a/gdb/symmisc.c
+++ b/gdb/symmisc.c
@@ -294,7 +294,7 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile)
even if we're using a hashtable, but nothing else but this message
wants it. */
gdb_printf (outfile, ", %d syms/buckets in ",
- mdict_size (BLOCK_MULTIDICT (b)));
+ mdict_size (b->multidict ()));
gdb_puts (paddress (gdbarch, b->start ()), outfile);
gdb_printf (outfile, "..");
gdb_puts (paddress (gdbarch, b->end ()), outfile);
@@ -312,7 +312,7 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile)
/* Now print each symbol in this block (in no particular order, if
we're using a hashtable). Note that we only want this
block, not any blocks from included symtabs. */
- ALL_DICT_SYMBOLS (BLOCK_MULTIDICT (b), miter, sym)
+ ALL_DICT_SYMBOLS (b->multidict (), miter, sym)
{
try
{
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-04-28 2:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-28 2:39 [binutils-gdb] gdb: remove BLOCK_MULTIDICT macro Simon Marchi
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).