+ /* This function is called to discard any pending blocks. */
+
+ void free_pending_blocks ()
+ {
+ m_pending_block_obstack.clear ();
+ m_pending_blocks = nullptr;
+ }
+
+ struct block *finish_block (struct symbol *symbol,
+ struct pending_block *old_blocks,
+ const struct dynamic_prop *static_link,
+ CORE_ADDR start, CORE_ADDR end);
+
+ void record_block_range (struct block *block,
+ CORE_ADDR start, CORE_ADDR end_inclusive);
+
+ void start_subfile (const char *name);
+
+ void patch_subfile_names (struct subfile *subfile, const char *name);
+
+ void push_subfile ();
+
+ const char *pop_subfile ();
+
+ void record_line (struct subfile *subfile, int line, CORE_ADDR pc);
+
+ struct compunit_symtab *get_compunit_symtab ()
+ {
+ return m_compunit_symtab;
+ }
+
+ void set_last_source_start_addr (CORE_ADDR addr)
+ {
+ m_last_source_start_addr = addr;
+ }
+
+ CORE_ADDR get_last_source_start_addr ()
+ {
+ return m_last_source_start_addr;
+ }
+
+ struct using_direct **get_local_using_directives ()
+ {
+ return &m_local_using_directives;
+ }
+
+ void set_local_using_directives (struct using_direct *new_local)
+ {
+ m_local_using_directives = new_local;
+ }
+
+ struct using_direct **get_global_using_directives ()
+ {
+ return &m_global_using_directives;
+ }