aboutsummaryrefslogtreecommitdiff
path: root/gdb/linespec.c
diff options
context:
space:
mode:
authorDoug Evans <xdje42@gmail.com>2014-12-05 00:53:56 -0800
committerDoug Evans <xdje42@gmail.com>2014-12-05 01:04:07 -0800
commit642a8d806780150b62e3a0381a8d995212bdf442 (patch)
treee2008c67d8eac2912bbf51d35b2d6525e8bdda64 /gdb/linespec.c
parentddb9f679fa9f54633442c46574b8e5b0ca45a786 (diff)
downloadfsf-binutils-gdb-642a8d806780150b62e3a0381a8d995212bdf442.zip
fsf-binutils-gdb-642a8d806780150b62e3a0381a8d995212bdf442.tar.gz
fsf-binutils-gdb-642a8d806780150b62e3a0381a8d995212bdf442.tar.bz2
Revert: linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp.
This patch causes regressions in ada's operator_bp.exp test. That's because it uses wild_match which expects arguments in the original order. There is still a bug here. It's hard to see because either minsyms save the day, or the needed symtab gets expanded before linespecs need it because of the call to cp_canonicalize_string_no_typedefs in linespec.c:find_linespec_symbols. But if you disable both of those things, then the bug is visible. bash$ ./gdb -D ./data-directory testsuite/gdb.cp/anon-ns (gdb) b doit(void) Function "doit(void)" not defined. gdb/ChangeLog: Revert: PR symtab/17602 * linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp.
Diffstat (limited to 'gdb/linespec.c')
-rw-r--r--gdb/linespec.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/gdb/linespec.c b/gdb/linespec.c
index af958dc..82384ca 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -982,12 +982,7 @@ iterate_name_matcher (const char *name, void *d)
{
const struct symbol_matcher_data *data = d;
- /* The order of arguments we pass to symbol_name_cmp is important as
- strcmp_iw, a typical value for symbol_name_cmp, only performs special
- processing of '(' to remove overload info on the first argument and not
- the second. The first argument is what the user provided, the second
- argument is what came from partial syms / .gdb_index. */
- if (data->symbol_name_cmp (data->lookup_name, name) == 0)
+ if (data->symbol_name_cmp (name, data->lookup_name) == 0)
return 1; /* Expand this symbol's symbol table. */
return 0; /* Skip this symbol. */
}