+ /* The obstack on which we allocate pending_addrmap.
+ If pending_addrmap is NULL, this is uninitialized; otherwise, it is
+ initialized (and holds pending_addrmap). */
+ auto_obstack m_pending_addrmap_obstack;
+
+ /* True if we recorded any ranges in the addrmap that are different
+ from those in the blockvector already. We set this to false when
+ we start processing a symfile, and if it's still false at the
+ end, then we just toss the addrmap. */
+ bool m_pending_addrmap_interesting = false;
+
+ /* An obstack used for allocating pending blocks. */
+ auto_obstack m_pending_block_obstack;
+
+ /* Pointer to the head of a linked list of symbol blocks which have
+ already been finalized (lexical contexts already closed) and which
+ are just waiting to be built into a blockvector when finalizing the
+ associated symtab. */
+ struct pending_block *m_pending_blocks = nullptr;
+
+ /* Pending static symbols and types at the top level. */
+ struct pending *m_file_symbols = nullptr;
+
+ /* Pending global functions and variables. */
+ struct pending *m_global_symbols = nullptr;
+
+ /* Pending symbols that are local to the lexical context. */
+ struct pending *m_local_symbols = nullptr;
+};
+
+\f
+
+extern void add_symbol_to_list (struct symbol *symbol,
+ struct pending **listhead);
+
+extern struct symbol *find_symbol_in_list (struct pending *list,
+ char *name, int length);