From e6b2f5efa97c7f3de8a3947c6782c40ec6172686 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 21 Nov 2017 00:02:46 +0000 Subject: [PATCH] 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 * dwarf2read.c (mapped_index::find_name_components_bounds) : Use std::lower_bound instead of std::upper_bound. (test_mapped_index_find_name_component_bounds): Remove incorrect "t1_fund" from expected symbols. --- gdb/ChangeLog | 8 ++++++++ gdb/dwarf2read.c | 5 ++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 196abc9d5d3..d3b7b42257f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2017-11-21 Pedro Alves + + * dwarf2read.c (mapped_index::find_name_components_bounds) + : 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 * dwarf2read.c (mapped_index::name_components_casing): New field. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 865e9290e72..334d8c2e055 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -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 (), -- 2.30.2