aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <rafael.espindola@gmail.com>2015-02-17 10:43:20 -0500
committerRafael Ávila de Espíndola <rafael.espindola@gmail.com>2015-02-17 10:44:37 -0500
commit45a4fb1a700abeb4b3d8315b312ab31eee8efe72 (patch)
treee9e7927f5cec9ab0957d76f7130da34b9d1352d7
parentb05e3b0dd2a257f7f0c1e23ff4c36f369438ea81 (diff)
downloadgdb-45a4fb1a700abeb4b3d8315b312ab31eee8efe72.zip
gdb-45a4fb1a700abeb4b3d8315b312ab31eee8efe72.tar.gz
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.
-rw-r--r--gold/ChangeLog4
-rw-r--r--gold/merge.cc13
2 files changed, 9 insertions, 8 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index f83c652..67efa58 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -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
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))