Revert: linespec.c (iterate_name_matcher): Fix arguments to symbol_name_cmp.
authorDoug Evans <xdje42@gmail.com>
Fri, 5 Dec 2014 08:53:56 +0000 (00:53 -0800)
committerDoug Evans <xdje42@gmail.com>
Fri, 5 Dec 2014 09:04:07 +0000 (01:04 -0800)
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.

gdb/ChangeLog
gdb/linespec.c

index 8023f03..c73f185 100644 (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.
index af958dc..82384ca 100644 (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.  */
 }