diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 3 | ||||
-rw-r--r-- | gdb/symtab.c | 31 | ||||
-rw-r--r-- | gdb/symtab.h | 4 |
3 files changed, 38 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 68c0a7d..5fde022 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2013-09-25 Doug Evans <dje@google.com> + * symtab.c (domain_name, search_domain_name): New functions. + * symtab.h (domain_name, search_domain_name): Declare. + * symfile.h (struct quick_symbol_functions): Reorg arg list of map_matching_symbols so objfile is first. All uses updated. * dwarf2read.c (dw2_map_matching_symbols): Update signature. diff --git a/gdb/symtab.c b/gdb/symtab.c index 3bcec23..dbff042 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -143,6 +143,37 @@ multiple_symbols_select_mode (void) const struct block *block_found; +/* Return the name of a domain_enum. */ + +const char * +domain_name (domain_enum e) +{ + switch (e) + { + case UNDEF_DOMAIN: return "UNDEF_DOMAIN"; + case VAR_DOMAIN: return "VAR_DOMAIN"; + case STRUCT_DOMAIN: return "STRUCT_DOMAIN"; + case LABEL_DOMAIN: return "LABEL_DOMAIN"; + case COMMON_BLOCK_DOMAIN: return "COMMON_BLOCK_DOMAIN"; + default: gdb_assert_not_reached ("bad domain_enum"); + } +} + +/* Return the name of a search_domain . */ + +const char * +search_domain_name (enum search_domain e) +{ + switch (e) + { + case VARIABLES_DOMAIN: return "VARIABLES_DOMAIN"; + case FUNCTIONS_DOMAIN: return "FUNCTIONS_DOMAIN"; + case TYPES_DOMAIN: return "TYPES_DOMAIN"; + case ALL_DOMAIN: return "ALL_DOMAIN"; + default: gdb_assert_not_reached ("bad search_domain"); + } +} + /* See whether FILENAME matches SEARCH_NAME using the rule that we advertise to the user. (The manual's description of linespecs describes what we advertise). Returns true if they match, false diff --git a/gdb/symtab.h b/gdb/symtab.h index ccf4a4f..3d3c05c 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -427,6 +427,8 @@ typedef enum domain_enum_tag COMMON_BLOCK_DOMAIN } domain_enum; +extern const char *domain_name (domain_enum); + /* Searching domains, used for `search_symbols'. Element numbers are hardcoded in GDB, check all enum uses before changing it. */ @@ -446,6 +448,8 @@ enum search_domain ALL_DOMAIN = 3 }; +extern const char *search_domain_name (enum search_domain); + /* An address-class says where to find the value of a symbol. */ enum address_class |