aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/symtab.c31
-rw-r--r--gdb/symtab.h4
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