This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch][gold] Use std::upper_bound to simplify code a bit


> With std::upper_bound we don't have to check p->input_offset > input_offset.

@@ -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);


This is OK, with a ChangeLog entry. Thanks!

-cary


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]