[RFA] remove duplicates in search_symbols
Doug Evans
dje@google.com
Thu Aug 1 23:50:00 GMT 2013
Tom Tromey writes:
> >>>>> "Doug" == Doug Evans <dje@google.com> writes:
>
> >> 2013-06-15 Doug Evans <dje@google.com>
> >>
> >> * symtab.c (do_free_search_symbols_cleanup): Change arg to,
> >> effectively, struct symbol_search **.
> >> (make_cleanup_free_search_symbols): Change arg to struct
> >> symbol_search **.
> >> All callers updated.
> >> (compare_search_syms): Compare symtab file name and block as well.
> >> (search_symbols_equal): New function.
> >> (sort_search_symbols_remove_dups): Renamed from sort_search_symbols.
> >> New args new_head, new_tail. Result is now void. Remove dups after
> >> sorting the symbols.
> >> (search_symbols): Sort all found symbols once, after all
> >> have been found,
> >> and remove duplicates. Simplify cleanup tracking of result.
> >> * symtab.h (make_cleanup_free_search_symbols): Update prototype.
>
> Doug> Ping.
>
> Looks good to me.
>
> It seems make_cleanup_free_search_symbols isn't used outside of
> symtab.c.
Thanks.
Yeah, all of these are not used outside of symtab.c.
struct symbol_search { ... };
extern void search_symbols (char *, enum search_domain, int, char **,
struct symbol_search **);
extern void free_search_symbols (struct symbol_search *);
extern struct cleanup *make_cleanup_free_search_symbols (struct symbol_search
**);
I'm semi-ambivalent about keeping them as an exported part of the API
so I left making them static for another pass.
More information about the Gdb-patches
mailing list