+2011-04-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code cleanup.
+ * symtab.c (search_symbols): Reorder the KIND description in the
+ function comment. Remove the unused 4th element of types, types2,
+ types3 and types4. New gdb_assert on KIND.
+ (symtab_symbol_info): Remove the unused 4th element of classnames.
+ New gdb_assert on KIND.
+ * symtab.h (enum search_domain): New warning in the enum comment.
+ Assign numbers to the elements VARIABLES_DOMAIN, FUNCTIONS_DOMAIN and
+ TYPES_DOMAIN.
+
2011-04-09 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix crash of gdb save-index on a STABS file.
returning the results in *MATCHES.
Only symbols of KIND are searched:
+ VARIABLES_DOMAIN - search all symbols, excluding functions, type names,
+ and constants (enums)
FUNCTIONS_DOMAIN - search all functions
TYPES_DOMAIN - search all type names
- VARIABLES_DOMAIN - search all symbols, excluding functions, type names,
- and constants (enums)
free_search_symbols should be called when *MATCHES is no longer needed.
char *val;
int found_misc = 0;
static const enum minimal_symbol_type types[]
- = {mst_data, mst_text, mst_abs, mst_unknown};
+ = {mst_data, mst_text, mst_abs};
static const enum minimal_symbol_type types2[]
- = {mst_bss, mst_file_text, mst_abs, mst_unknown};
+ = {mst_bss, mst_file_text, mst_abs};
static const enum minimal_symbol_type types3[]
- = {mst_file_data, mst_solib_trampoline, mst_abs, mst_unknown};
+ = {mst_file_data, mst_solib_trampoline, mst_abs};
static const enum minimal_symbol_type types4[]
- = {mst_file_bss, mst_text_gnu_ifunc, mst_abs, mst_unknown};
+ = {mst_file_bss, mst_text_gnu_ifunc, mst_abs};
enum minimal_symbol_type ourtype;
enum minimal_symbol_type ourtype2;
enum minimal_symbol_type ourtype3;
struct cleanup *old_chain = NULL;
struct search_symbols_data datum;
+ gdb_assert (kind <= TYPES_DOMAIN);
+
ourtype = types[kind];
ourtype2 = types2[kind];
ourtype3 = types3[kind];
symtab_symbol_info (char *regexp, enum search_domain kind, int from_tty)
{
static const char * const classnames[] =
- {"variable", "function", "type", "method"};
+ {"variable", "function", "type"};
struct symbol_search *symbols;
struct symbol_search *p;
struct cleanup *old_chain;
char *last_filename = NULL;
int first = 1;
+ gdb_assert (kind <= TYPES_DOMAIN);
+
/* Must make sure that if we're interrupted, symbols gets freed. */
search_symbols (regexp, kind, 0, (char **) NULL, &symbols);
old_chain = make_cleanup_free_search_symbols (symbols);