* symtab.c (domain_name, search_domain_name): New functions.
authorDoug Evans <dje@google.com>
Wed, 25 Sep 2013 21:51:27 +0000 (21:51 +0000)
committerDoug Evans <dje@google.com>
Wed, 25 Sep 2013 21:51:27 +0000 (21:51 +0000)
* symtab.h (domain_name, search_domain_name): Declare.

gdb/ChangeLog
gdb/symtab.c
gdb/symtab.h

index 68c0a7d..5fde022 100644 (file)
@@ -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.
index 3bcec23..dbff042 100644 (file)
@@ -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
index ccf4a4f..3d3c05c 100644 (file)
@@ -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