Use std::upper_bound to simplify code a bit.
authorRafael Ávila de Espíndola <rafael.espindola@gmail.com>
Tue, 17 Feb 2015 15:43:20 +0000 (10:43 -0500)
committerRafael Ávila de Espíndola <rafael.espindola@gmail.com>
Tue, 17 Feb 2015 15:44:37 +0000 (10:44 -0500)
With std::upper_bound we don't have to check p->input_offset > input_offset.

gold/ChangeLog
gold/merge.cc

index f83c6524c8ae70e52d8e96dda8740d3f6363d6b4..67efa5855d5f1ecb2837a7a0f58f76781e59a606 100644 (file)
@@ -1,3 +1,7 @@
+2015-02-17  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+       * merge.cc (get_output_offset): Use upper_bound instead of lower_bound.
+
 2015-02-09  Mark Wielaard  <mjw@redhat.com>
 
        * gdb-index.cc (Gdb_index_info_reader::visit_top_die): Recognize
index f547388e3089dc16f0e5be33f8f2ef7faa0765bc..bf00481811945641c5bae91a115980c826057d5c 100644 (file)
@@ -162,15 +162,12 @@ Object_merge_map::get_output_offset(const Merge_map* merge_map,
   Input_merge_entry entry;
   entry.input_offset = input_offset;
   std::vector<Input_merge_entry>::const_iterator p =
-    std::lower_bound(map->entries.begin(), map->entries.end(),
+    std::upper_bound(map->entries.begin(), map->entries.end(),
                     entry, Input_merge_compare());
-  if (p == map->entries.end() || p->input_offset > input_offset)
-    {
-      if (p == map->entries.begin())
-       return false;
-      --p;
-      gold_assert(p->input_offset <= input_offset);
-    }
+  if (p == map->entries.begin())
+    return false;
+  --p;
+  gold_assert(p->input_offset <= input_offset);
 
   if (input_offset - p->input_offset
       >= static_cast<section_offset_type>(p->length))
This page took 0.032904 seconds and 4 git commands to generate.