diff options
author | Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | 2015-02-17 10:43:20 -0500 |
---|---|---|
committer | Rafael Ávila de Espíndola <rafael.espindola@gmail.com> | 2015-02-17 10:44:37 -0500 |
commit | 45a4fb1a700abeb4b3d8315b312ab31eee8efe72 (patch) | |
tree | e9e7927f5cec9ab0957d76f7130da34b9d1352d7 /gold/merge.cc | |
parent | b05e3b0dd2a257f7f0c1e23ff4c36f369438ea81 (diff) | |
download | fsf-binutils-gdb-45a4fb1a700abeb4b3d8315b312ab31eee8efe72.zip fsf-binutils-gdb-45a4fb1a700abeb4b3d8315b312ab31eee8efe72.tar.gz fsf-binutils-gdb-45a4fb1a700abeb4b3d8315b312ab31eee8efe72.tar.bz2 |
Use std::upper_bound to simplify code a bit.
With std::upper_bound we don't have to check p->input_offset > input_offset.
Diffstat (limited to 'gold/merge.cc')
-rw-r--r-- | gold/merge.cc | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gold/merge.cc b/gold/merge.cc index f547388..bf00481 100644 --- a/gold/merge.cc +++ b/gold/merge.cc @@ -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)) |