summaryrefslogtreecommitdiff
path: root/gdb/block.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/block.h')
-rw-r--r--gdb/block.h23
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);