Remove allocate_block and allocate_global_block
authorTom Tromey <tom@tromey.com>
Fri, 20 Jan 2023 14:16:34 +0000 (07:16 -0700)
committerTom Tromey <tom@tromey.com>
Sun, 19 Feb 2023 19:51:06 +0000 (12:51 -0700)
This removes allocate_block and allocate_global_block in favor of
simply calling 'new'.

gdb/block.c
gdb/block.h
gdb/buildsym.c
gdb/jit.c
gdb/mdebugread.c

index 1698ee51e7bf6fda79940543089a2e2bdb157493..334d8180448cafbfafa99146e80684b4d714f091 100644 (file)
@@ -377,29 +377,6 @@ block::global_block () const
   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
index 3d71e7daab1409e42bfe90cc16cc2953c78d03f7..7c40bae9af2a913c971c7fcb8050d6ea3b2f82fc 100644 (file)
@@ -426,10 +426,6 @@ extern const struct block *block_for_pc (CORE_ADDR);
 
 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.  */
index 10b8fc6cecbc6bd8b52d5f60cd8f7aed6316fad2..dbc81727cb1c24cfe71a753edc34b81dad092d48 100644 (file)
@@ -211,9 +211,10 @@ buildsym_compunit::finish_block_internal
   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)
     {
index f584438c2290f4ba9d4c9905105f903ec97ee1f3..0b089bc6a8224e8e5e7f1d5a9ff0ca535c085a2b 100644 (file)
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -567,7 +567,7 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
   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,
@@ -609,9 +609,10 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
     {
       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);
index 17038639fa8c727f50edeebfa6be954164cca27a..793795c903a3a057e93535483ae9580f8734f53a 100644 (file)
@@ -4723,7 +4723,7 @@ static struct block *
 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));