diff options
author | Tom Tromey <tom@tromey.com> | 2023-01-19 17:50:30 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2023-02-19 12:51:06 -0700 |
commit | 7bf30a4447713192eb49be43d7f66630d570652b (patch) | |
tree | 0aed300f918b6a555dfaa77b67bb9b4a5f52c0e1 | |
parent | cade9c8a459e4fd2f8a781eed21991e2487f90ee (diff) | |
download | gdb-7bf30a4447713192eb49be43d7f66630d570652b.zip gdb-7bf30a4447713192eb49be43d7f66630d570652b.tar.gz gdb-7bf30a4447713192eb49be43d7f66630d570652b.tar.bz2 |
Convert block_static_link to method
This converts block_static_link to be a method. This was mostly
written by script.
-rw-r--r-- | gdb/block.c | 8 | ||||
-rw-r--r-- | gdb/block.h | 24 | ||||
-rw-r--r-- | gdb/findvar.c | 2 |
3 files changed, 18 insertions, 16 deletions
diff --git a/gdb/block.c b/gdb/block.c index 3cd90dc..8aa0e67 100644 --- a/gdb/block.c +++ b/gdb/block.c @@ -420,16 +420,16 @@ block::set_compunit_symtab (struct compunit_symtab *cu) /* See block.h. */ struct dynamic_prop * -block_static_link (const struct block *block) +block::static_link () const { - struct objfile *objfile = block->objfile (); + struct objfile *objfile = this->objfile (); /* Only objfile-owned blocks that materialize top function scopes can have static links. */ - if (objfile == NULL || block->function () == NULL) + if (objfile == NULL || function () == NULL) return NULL; - return (struct dynamic_prop *) objfile_lookup_static_link (objfile, block); + return (struct dynamic_prop *) objfile_lookup_static_link (objfile, this); } /* Return the compunit of the global block. */ diff --git a/gdb/block.h b/gdb/block.h index ce8c967..9bc8049 100644 --- a/gdb/block.h +++ b/gdb/block.h @@ -258,6 +258,19 @@ struct block void set_compunit_symtab (struct compunit_symtab *); + /* Return a property to evaluate the static link associated to this + block. + + In the context of nested functions (available in Pascal, Ada and + GNU C, for instance), a static link (as in DWARF's + DW_AT_static_link attribute) for a function is a way to get the + frame corresponding to the enclosing function. + + Note that only objfile-owned and function-level blocks can have a + static link. Return NULL if there is no such property. */ + + struct dynamic_prop *static_link () const; + /* Addresses in the executable code that are in this block. */ CORE_ADDR m_start; @@ -421,17 +434,6 @@ extern struct block *allocate_block (struct obstack *obstack); extern struct block *allocate_global_block (struct obstack *obstack); -/* Return a property to evaluate the static link associated to BLOCK. - - In the context of nested functions (available in Pascal, Ada and GNU C, for - instance), a static link (as in DWARF's DW_AT_static_link attribute) for a - function is a way to get the frame corresponding to the enclosing function. - - Note that only objfile-owned and function-level blocks can have a static - link. Return NULL if there is no such property. */ - -extern struct dynamic_prop *block_static_link (const struct block *block); - /* A block iterator. This structure should be treated as though it were opaque; it is only defined here because we want to support stack allocation of iterators. */ diff --git a/gdb/findvar.c b/gdb/findvar.c index 806f41d..60b5ca3 100644 --- a/gdb/findvar.c +++ b/gdb/findvar.c @@ -498,7 +498,7 @@ get_hosting_frame (struct symbol *var, const struct block *var_block, else if (frame_block->function ()) { const struct dynamic_prop *static_link - = block_static_link (frame_block); + = frame_block->static_link (); int could_climb_up = 0; if (static_link != NULL) |