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.
This commit is contained in:
Doug Evans 2014-12-05 00:53:56 -08:00
parent ddb9f679fa
commit 642a8d8067
2 changed files with 7 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2014-12-05 Doug Evans <xdje42@gmail.com>
Revert:
PR symtab/17602
* linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp.
2014-12-04 Doug Evans <dje@google.com>
* NEWS: Mention gdb.Objfile.add_separate_debug_file.

View File

@ -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. */
}