This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [patch][gold] Use std::upper_bound to simplify code a bit
- From: Cary Coutant <ccoutant at google dot com>
- To: Rafael EspÃndola <rafael dot espindola at gmail dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Mon, 16 Feb 2015 19:53:46 -0800
- Subject: Re: [patch][gold] Use std::upper_bound to simplify code a bit
- Authentication-results: sourceware.org; auth=none
- References: <CAG3jReJEh+K1oEPtsoyeAwPkZrJQFvhDwwRjS5oh7KnazFE-yQ at mail dot gmail dot com>
> 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