Fix mapped_index::find_name_components_bounds upper bound computation

Here we want to find where we'd insert "after", so we want
std::lower_bound, not std::upper_bound.

gdb/ChangeLog:
2017-11-21  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.
This commit is contained in:
Pedro Alves 2017-11-21 00:02:46 +00:00
parent 5c58de74c9
commit e6b2f5efa9
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2017-11-21 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.
2017-11-21 Pedro Alves <palves@redhat.com>
* dwarf2read.c (mapped_index::name_components_casing): New field.

View File

@ -4339,8 +4339,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);
@ -4680,7 +4680,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 (),