From 20c681d15f0ca83a5fc4b6811585865799b79706 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Wed, 25 Sep 2013 21:51:27 +0000 Subject: [PATCH] * symtab.c (domain_name, search_domain_name): New functions. * symtab.h (domain_name, search_domain_name): Declare. --- gdb/ChangeLog | 3 +++ gdb/symtab.c | 31 +++++++++++++++++++++++++++++++ gdb/symtab.h | 4 ++++ 3 files changed, 38 insertions(+) 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 + * 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 -- 2.7.4