Delete search_symbols_equal (use compare_search_syms instead).
This avoids duplicating the logic comparing two symbol_search objects (in search_symbols_equal and compare_search_syms). gdb/ChangeLog: * symtab.c (search_symbols_equal): Delete. (sort_search_symbols_remove_dups): Replace call to search_symbols_equal by call to compare_search_syms, adjusting as necessary.
This commit is contained in:
parent
751e7549b0
commit
6b9780fbbd
2 changed files with 8 additions and 14 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2013-10-02 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
* symtab.c (search_symbols_equal): Delete.
|
||||||
|
(sort_search_symbols_remove_dups): Replace call to
|
||||||
|
search_symbols_equal by call to compare_search_syms,
|
||||||
|
adjusting as necessary.
|
||||||
|
|
||||||
2013-10-02 Phil Muldoon <pmuldoon@redhat.com>
|
2013-10-02 Phil Muldoon <pmuldoon@redhat.com>
|
||||||
|
|
||||||
PR python/15579
|
PR python/15579
|
||||||
|
|
15
gdb/symtab.c
15
gdb/symtab.c
|
@ -3347,19 +3347,6 @@ compare_search_syms (const void *sa, const void *sb)
|
||||||
SYMBOL_PRINT_NAME (sym_b->symbol));
|
SYMBOL_PRINT_NAME (sym_b->symbol));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Helper function for sort_search_symbols_remove_dups.
|
|
||||||
Return TRUE if symbols A, B are equal. */
|
|
||||||
|
|
||||||
static int
|
|
||||||
search_symbols_equal (const struct symbol_search *a,
|
|
||||||
const struct symbol_search *b)
|
|
||||||
{
|
|
||||||
return (strcmp (a->symtab->filename, b->symtab->filename) == 0
|
|
||||||
&& a->block == b->block
|
|
||||||
&& strcmp (SYMBOL_PRINT_NAME (a->symbol),
|
|
||||||
SYMBOL_PRINT_NAME (b->symbol)) == 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sort the NFOUND symbols in list FOUND and remove duplicates.
|
/* Sort the NFOUND symbols in list FOUND and remove duplicates.
|
||||||
The duplicates are freed, and the new list is returned in
|
The duplicates are freed, and the new list is returned in
|
||||||
*NEW_HEAD, *NEW_TAIL. */
|
*NEW_HEAD, *NEW_TAIL. */
|
||||||
|
@ -3393,7 +3380,7 @@ sort_search_symbols_remove_dups (struct symbol_search *found, int nfound,
|
||||||
/* Collapse out the dups. */
|
/* Collapse out the dups. */
|
||||||
for (i = 1, j = 1; i < nfound; ++i)
|
for (i = 1, j = 1; i < nfound; ++i)
|
||||||
{
|
{
|
||||||
if (! search_symbols_equal (symbols[j - 1], symbols[i]))
|
if (compare_search_syms (&symbols[j - 1], &symbols[i]) != 0)
|
||||||
symbols[j++] = symbols[i];
|
symbols[j++] = symbols[i];
|
||||||
else
|
else
|
||||||
xfree (symbols[i]);
|
xfree (symbols[i]);
|
||||||
|
|
Loading…
Reference in a new issue