diff options
Diffstat (limited to 'gdb/block.h')
-rw-r--r-- | gdb/block.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/gdb/block.h b/gdb/block.h index b2498636c51..9ad53af7826 100644 --- a/gdb/block.h +++ b/gdb/block.h @@ -50,7 +50,9 @@ struct symbol; struct dictionary; +struct namespace_info; struct using_direct_node; +struct obstack; struct block { @@ -83,12 +85,11 @@ struct block { struct { - /* Contains information about what using directives or other - similar features are added by this block. This should always - be NULL for global blocks: if there are using directives that - affect an entire file, put it in the static block. */ + /* Contains information about namespace-related info relevant to + this block: using directives and the current namespace + scope. */ - struct using_direct_node *using; + struct namespace_info *namespace; } cplus_specific; } @@ -112,7 +113,7 @@ struct block #define BLOCK_FUNCTION(bl) (bl)->function #define BLOCK_SUPERBLOCK(bl) (bl)->superblock #define BLOCK_DICT(bl) (bl)->dict -#define BLOCK_USING(bl) (bl)->language_specific.cplus_specific.using +#define BLOCK_NAMESPACE(bl) (bl)->language_specific.cplus_specific.namespace #define BLOCK_GCC_COMPILED(bl) (bl)->gcc_compile_flag struct blockvector @@ -136,3 +137,13 @@ extern struct symbol *block_function (struct block *); extern int contained_in (struct block *, struct block *); +extern struct using_direct_node *block_using (const struct block *); + +extern void block_set_using (struct block *block, + struct using_direct_node *using, + struct obstack *obstack); + +extern const char *block_scope (struct block *block); + +extern void block_set_scope (struct block *block, const char *scope, + struct obstack *obstack); |