[25/27] Remove allocate_block and allocate_global_block

Message ID 20230120214618.3236224-26-tom@tromey.com
State New
Headers
Series C++-ify struct block |

Commit Message

Tom Tromey Jan. 20, 2023, 9:46 p.m. UTC
  This removes allocate_block and allocate_global_block in favor of
simply calling 'new'.
---
 gdb/block.c      | 23 -----------------------
 gdb/block.h      |  4 ----
 gdb/buildsym.c   |  7 ++++---
 gdb/jit.c        |  9 +++++----
 gdb/mdebugread.c |  2 +-
 5 files changed, 10 insertions(+), 35 deletions(-)
  

Patch

diff --git a/gdb/block.c b/gdb/block.c
index 1698ee51e7b..334d8180448 100644
--- a/gdb/block.c
+++ b/gdb/block.c
@@ -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
diff --git a/gdb/block.h b/gdb/block.h
index 3d71e7daab1..7c40bae9af2 100644
--- a/gdb/block.h
+++ b/gdb/block.h
@@ -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.  */
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 9d45938f8e9..303eed52282 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -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)
     {
diff --git a/gdb/jit.c b/gdb/jit.c
index f584438c229..0b089bc6a82 100644
--- 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);
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index b6a0b3c07df..18b59cff6bf 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -4714,7 +4714,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));