This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 3/3] Fix mapped_index::find_name_components_bounds upper bound computation
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Cc: Simon Marchi <simark at simark dot ca>
- Date: Mon, 20 Nov 2017 00:41:55 +0000
- Subject: [PATCH 3/3] Fix mapped_index::find_name_components_bounds upper bound computation
- Authentication-results: sourceware.org; auth=none
- References: <5d721d13-d886-0400-db6b-76485c545142@redhat.com>
Here we want to find where we'd insert "after", so we want
std::lower_bound, not std::upper_bound.
gdb/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>
* dwarf2read.c (mapped_index::find_name_components_bounds)
<completion mode, upper bound>: Use std::lower_bound instead of
std::upper_bound.
(test_mapped_index_find_name_component_bounds): Remove incorrect
"t1_fund" from expected symbols.
---
gdb/dwarf2read.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 53548ca..c4d1254 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -4319,8 +4319,8 @@ mapped_index::find_name_components_bounds
std::string after = make_sort_after_prefix_name (cplus);
if (after.empty ())
return end;
- return std::upper_bound (lower, end, after.c_str (),
- lookup_compare_upper);
+ return std::lower_bound (lower, end, after.c_str (),
+ lookup_compare_lower);
}
else
return std::upper_bound (lower, end, cplus, lookup_compare_upper);
@@ -4659,7 +4659,6 @@ test_mapped_index_find_name_component_bounds ()
static const char *expected_syms[] = {
"t1_func",
"t1_func1",
- "t1_fund", /* This one's incorrect. */
};
SELF_CHECK (check_find_bounds_finds (mock_index.index (),
--
2.5.5