[binutils-gdb] gdb: add and use signatured_type_up

Simon Marchi simark@sourceware.org
Mon May 31 16:34:07 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=46c6bcf650644ae22941ccb49dfe5fbb6e185513

commit 46c6bcf650644ae22941ccb49dfe5fbb6e185513
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon May 31 12:33:32 2021 -0400

    gdb: add and use signatured_type_up
    
    Add an alias for std::unique_ptr<signatured_type> and use it where
    possible.
    
    gdb/ChangeLog:
    
            * dwarf2/read.h (signatured_type_up): New, use where possible.
    
    Change-Id: I5a41e8345551434c8beeb9f269b03bdcf27989be

Diff:
---
 gdb/ChangeLog     |  4 ++++
 gdb/dwarf2/read.c | 12 ++++++------
 gdb/dwarf2/read.h |  4 +++-
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a570dfef8cb..98afac56ac3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2021-05-31  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* dwarf2/read.h (signatured_type_up): New, use where possible.
+
 2021-05-31  Simon Marchi  <simon.marchi@polymtl.ca>
 
 	* dwarf2/read.h (signatured_type, dwarf2_per_cu_data): Move up.
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 9e5c3afafcc..24247defebb 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -2294,10 +2294,10 @@ dwarf2_per_bfd::allocate_per_cu ()
 
 /* See read.h.  */
 
-std::unique_ptr<signatured_type>
+signatured_type_up
 dwarf2_per_bfd::allocate_signatured_type ()
 {
-  std::unique_ptr<signatured_type> result (new signatured_type);
+  signatured_type_up result (new signatured_type);
   result->per_bfd = this;
   result->index = all_comp_units.size ();
   result->is_debug_types = true;
@@ -2382,7 +2382,7 @@ create_signatured_type_table_from_index
 
   for (offset_type i = 0; i < elements; i += 3)
     {
-      std::unique_ptr<signatured_type> sig_type;
+      signatured_type_up sig_type;
       ULONGEST signature;
       void **slot;
       cu_offset type_offset_in_tu;
@@ -2432,7 +2432,7 @@ create_signatured_type_table_from_debug_names
 
   for (uint32_t i = 0; i < map.tu_count; ++i)
     {
-      std::unique_ptr<signatured_type> sig_type;
+      signatured_type_up sig_type;
       void **slot;
 
       sect_offset sect_off
@@ -5796,7 +5796,7 @@ create_debug_type_hash_table (dwarf2_per_objfile *per_objfile,
   end_ptr = info_ptr + section->size;
   while (info_ptr < end_ptr)
     {
-      std::unique_ptr<signatured_type> sig_type;
+      signatured_type_up sig_type;
       struct dwo_unit *dwo_tu;
       void **slot;
       const gdb_byte *ptr = info_ptr;
@@ -5886,7 +5886,7 @@ add_type_unit (dwarf2_per_objfile *per_objfile, ULONGEST sig, void **slot)
       == per_objfile->per_bfd->all_comp_units.capacity ())
     ++per_objfile->per_bfd->tu_stats.nr_all_type_units_reallocs;
 
-  std::unique_ptr<signatured_type> sig_type_holder
+  signatured_type_up sig_type_holder
     = per_objfile->per_bfd->allocate_signatured_type ();
   signatured_type *sig_type = sig_type_holder.get ();
 
diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h
index 44ba1a624cc..98937915d27 100644
--- a/gdb/dwarf2/read.h
+++ b/gdb/dwarf2/read.h
@@ -305,6 +305,8 @@ struct signatured_type : public dwarf2_per_cu_data
   struct dwo_unit *dwo_unit = nullptr;
 };
 
+using signatured_type_up = std::unique_ptr<signatured_type>;
+
 /* Some DWARF data can be shared across objfiles who share the same BFD,
    this data is stored in this object.
 
@@ -339,7 +341,7 @@ struct dwarf2_per_bfd
   /* A convenience function to allocate a signatured_type.  The
      returned object has its "index" field set properly.  The object
      is allocated on the dwarf2_per_bfd obstack.  */
-  std::unique_ptr<signatured_type> allocate_signatured_type ();
+  signatured_type_up allocate_signatured_type ();
 
 private:
   /* This function is mapped across the sections and remembers the


More information about the Gdb-cvs mailing list