* dictionary.c (dict_add_pending): New function.
authorDoug Evans <dje@google.com>
Tue, 10 Jul 2012 20:12:49 +0000 (20:12 +0000)
committerDoug Evans <dje@google.com>
Tue, 10 Jul 2012 20:12:49 +0000 (20:12 +0000)
* dictionary.h (dict_add_pending): Declare.

gdb/ChangeLog
gdb/dictionary.c
gdb/dictionary.h

index c866c5b942b73e3c0cc5f327ba2fbd9bcd81712c..ea490d9d41d3a91e86cb244bcfebde251991947a 100644 (file)
@@ -1,3 +1,8 @@
+2012-07-10  Doug Evans  <dje@google.com>
+
+       * dictionary.c (dict_add_pending): New function.
+       * dictionary.h (dict_add_pending): Declare.
+
 2012-07-09  Doug Evans  <dje@google.com>
 
        * buildsym.c (start_subfile): Remove unnecessary check for
index 0a3a1039d12570e9145c3fb828671e5b7c14b8b1..62362c5c82e19def22def297b528f936f55cb51d 100644 (file)
@@ -498,6 +498,22 @@ dict_add_symbol (struct dictionary *dict, struct symbol *sym)
   (DICT_VECTOR (dict))->add_symbol (dict, sym);
 }
 
+/* Utility to add a list of symbols to a dictionary.
+   DICT must be an expandable dictionary.  */
+
+void
+dict_add_pending (struct dictionary *dict, const struct pending *symbol_list)
+{
+  const struct pending *list;
+  int i;
+
+  for (list = symbol_list; list != NULL; list = list->next)
+    {
+      for (i = 0; i < list->nsyms; ++i)
+       dict_add_symbol (dict, list->symbol[i]);
+    }
+}
+
 /* Initialize ITERATOR to point at the first symbol in DICT, and
    return that first symbol, or NULL if DICT is empty.  */
 
index 1d58fabfe96167af89eee65f8b7d5ed3e167f583..1f012f374ae9a6337bca8226e1c30e0c79869dea 100644 (file)
@@ -85,6 +85,11 @@ extern void dict_free (struct dictionary *dict);
 
 extern void dict_add_symbol (struct dictionary *dict, struct symbol *sym);
 
+/* Utility to add a list of symbols to a dictionary.  */
+
+extern void dict_add_pending (struct dictionary *dict,
+                             const struct pending *symbol_list);
+
 /* Is the dictionary empty?  */
 
 extern int dict_empty (struct dictionary *dict);