This adds the method block::function_block, to easily access a block's
enclosing function block.
/* See block.h. */
+const struct block *
+block::function_block () const
+{
+ const block *block = this;
+
+ while (block != nullptr && block->function () == nullptr)
+ block = block->superblock ();
+
+ return block;
+}
+
+/* See block.h. */
+
void
block::set_compunit_symtab (struct compunit_symtab *cu)
{
bool is_global_block () const
{ return superblock () == nullptr; }
+ /* Return the function block for this block. Returns nullptr if
+ there is no enclosing function, i.e., if this block is a static
+ or global block. */
+
+ const struct block *function_block () const;
+
/* Set the compunit of this block, which must be a global block. */
void set_compunit_symtab (struct compunit_symtab *);