[binutils-gdb] Replace sort_tu_by_abbrev_offset with operator<

Tom Tromey tromey@sourceware.org
Mon May 17 19:01:12 GMT 2021


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

commit 16e0020bfc845d87f2f3584414c4efa2454f8d05
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 17 12:50:33 2021 -0600

    Replace sort_tu_by_abbrev_offset with operator<
    
    I noticed that sort_tu_by_abbrev_offset only has a single caller.  It
    seemed simpler to replace it with an implementation of operator<
    instead.
    
    2021-05-17  Tom Tromey  <tom@tromey.com>
    
            * dwarf2/read.c (tu_abbrev_offset::operator<): New method.
            (sort_tu_by_abbrev_offset): Remove.
            (build_type_psymtabs): Update.

Diff:
---
 gdb/ChangeLog     |  6 ++++++
 gdb/dwarf2/read.c | 18 +++++++-----------
 2 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0014d75fbb8..b4fd2bb69f0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2021-05-17  Tom Tromey  <tom@tromey.com>
+
+	* dwarf2/read.c (tu_abbrev_offset::operator<): New method.
+	(sort_tu_by_abbrev_offset): Remove.
+	(build_type_psymtabs): Update.
+
 2021-05-17  Simon Marchi  <simon.marchi@polymtl.ca>
 
 	* py-project.toml: New.
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index ac786abf6d2..f1bb9b2f3df 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -7351,19 +7351,16 @@ struct tu_abbrev_offset
   : sig_type (sig_type_), abbrev_offset (abbrev_offset_)
   {}
 
+  /* This is used when sorting.  */
+  bool operator< (const tu_abbrev_offset &other)
+  {
+    return abbrev_offset < other.abbrev_offset;
+  }
+
   signatured_type *sig_type;
   sect_offset abbrev_offset;
 };
 
-/* Helper routine for build_type_psymtabs, passed to std::sort.  */
-
-static bool
-sort_tu_by_abbrev_offset (const struct tu_abbrev_offset &a,
-			  const struct tu_abbrev_offset &b)
-{
-  return a.abbrev_offset < b.abbrev_offset;
-}
-
 /* Efficiently read all the type units.
 
    The efficiency is because we sort TUs by the abbrev table they use and
@@ -7431,8 +7428,7 @@ build_type_psymtabs (dwarf2_per_objfile *per_objfile)
 	}
     }
 
-  std::sort (sorted_by_abbrev.begin (), sorted_by_abbrev.end (),
-	     sort_tu_by_abbrev_offset);
+  std::sort (sorted_by_abbrev.begin (), sorted_by_abbrev.end ());
 
   abbrev_offset = (sect_offset) ~(unsigned) 0;


More information about the Gdb-cvs mailing list