return block;
}
-/* Allocate a block on OBSTACK, and initialize its elements to
- zero/NULL. This is useful for creating "dummy" blocks that don't
- correspond to actual source files.
-
- Warning: it sets the block's BLOCK_MULTIDICT to NULL, which isn't a
- valid value. If you really don't want the block to have a
- dictionary, then you should subsequently set its BLOCK_MULTIDICT to
- dict_create_linear (obstack, NULL). */
-
-struct block *
-allocate_block (struct obstack *obstack)
-{
- return new (obstack) struct block;
-}
-
-/* Allocate a global block. */
-
-struct block *
-allocate_global_block (struct obstack *obstack)
-{
- return new (obstack) struct global_block;
-}
-
/* See block.h. */
void
extern const struct block *block_for_pc_sect (CORE_ADDR, struct obj_section *);
-extern struct block *allocate_block (struct obstack *obstack);
-
-extern struct block *allocate_global_block (struct obstack *obstack);
-
/* A block iterator. This structure should be treated as though it
were opaque; it is only defined here because we want to support
stack allocation of iterators. */
struct pending_block *pblock;
struct pending_block *opblock;
- block = (is_global
- ? allocate_global_block (&m_objfile->objfile_obstack)
- : allocate_block (&m_objfile->objfile_obstack));
+ if (is_global)
+ block = new (&m_objfile->objfile_obstack) global_block;
+ else
+ block = new (&m_objfile->objfile_obstack) struct block;
if (symbol)
{
int block_idx = FIRST_LOCAL_BLOCK;
for (gdb_block &gdb_block_iter : stab->blocks)
{
- struct block *new_block = allocate_block (&objfile->objfile_obstack);
+ struct block *new_block = new (&objfile->objfile_obstack) block;
struct symbol *block_name = new (&objfile->objfile_obstack) symbol;
struct type *block_type = arch_type (objfile->arch (),
TYPE_CODE_VOID,
{
struct block *new_block;
- new_block = (i == GLOBAL_BLOCK
- ? allocate_global_block (&objfile->objfile_obstack)
- : allocate_block (&objfile->objfile_obstack));
+ if (i == GLOBAL_BLOCK)
+ new_block = new (&objfile->objfile_obstack) global_block;
+ else
+ new_block = new (&objfile->objfile_obstack) block;
new_block->set_multidict
(mdict_create_linear (&objfile->objfile_obstack, NULL));
new_block->set_superblock (block_iter);
new_block (struct objfile *objfile, enum block_type type,
enum language language)
{
- struct block *retval = allocate_block (&objfile->objfile_obstack);
+ struct block *retval = new (&objfile->objfile_obstack) block;
if (type == FUNCTION_BLOCK)
retval->set_multidict (mdict_create_linear_expandable (language));