mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 10:39:13 +08:00
cp-tree.h (struct tree_binding): Replace scope field with a union.
* cp-tree.h (struct tree_binding): Replace scope field with a union. (BINDING_SCOPE): Adjust. * decl.c (BINDING_LEVEL): Adjust. From-SVN: r24894
This commit is contained in:
parent
661c790959
commit
c7a932b1cf
@ -1,3 +1,9 @@
|
||||
1999-01-28 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* cp-tree.h (struct tree_binding): Replace scope field with a union.
|
||||
(BINDING_SCOPE): Adjust.
|
||||
* decl.c (BINDING_LEVEL): Adjust.
|
||||
|
||||
1999-01-26 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* pt.c (instantiate_class_template): Set up the DECL_INITIAL of
|
||||
|
@ -138,7 +138,7 @@ typedef struct ptrmem_cst
|
||||
_TYPE node, or a NAMESPACE_DECL.) This macro should be used only
|
||||
for namespace-level bindings; on the IDENTIFIER_BINDING list
|
||||
BINDING_LEVEL is used instead. */
|
||||
#define BINDING_SCOPE(NODE) ((tree) ((struct tree_binding*)NODE)->scope)
|
||||
#define BINDING_SCOPE(NODE) (((struct tree_binding*)NODE)->scope.scope)
|
||||
|
||||
/* This is the declaration bound to the name. Possible values:
|
||||
variable, overloaded function, namespace, template, enumerator. */
|
||||
@ -159,7 +159,10 @@ typedef struct ptrmem_cst
|
||||
struct tree_binding
|
||||
{
|
||||
char common[sizeof (struct tree_common)];
|
||||
void* scope;
|
||||
union {
|
||||
tree scope;
|
||||
struct binding_level *level;
|
||||
} scope;
|
||||
tree value;
|
||||
};
|
||||
|
||||
|
@ -1039,7 +1039,7 @@ pushlevel_temporary (tag_transparent)
|
||||
/* For a binding between a name and an entity at a block scope,
|
||||
this is the `struct binding_level' for the block. */
|
||||
#define BINDING_LEVEL(NODE) \
|
||||
((struct binding_level*) ((struct tree_binding*)NODE)->scope)
|
||||
(((struct tree_binding*)NODE)->scope.level)
|
||||
|
||||
/* These are currently unused, but permanent, CPLUS_BINDING nodes.
|
||||
They are kept here because they are allocated from the permanent
|
||||
|
Loading…
Reference in New Issue
Block a user