decl2.c (qualified_lookup_using_namespace): Look through namespace aliases.

* decl2.c (qualified_lookup_using_namespace): Look through
        namespace aliases.

        * decl.c (push_using_decl): Return the old decl on namespace level.

From-SVN: r34073
This commit is contained in:
Martin v. Löwis 2000-05-22 07:23:26 +00:00 committed by Martin v. Löwis
parent 13ffcdbbf6
commit dd4fae800f
3 changed files with 14 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2000-05-22 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* decl2.c (qualified_lookup_using_namespace): Look through
namespace aliases.
* decl.c (push_using_decl): Return the old decl on namespace level.
2000-05-21 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (SET_BINFO_NEW_VTABLE_MARKED): Add sanity checks.

View File

@ -4386,9 +4386,10 @@ push_class_level_binding (name, x)
}
}
/* Insert another USING_DECL into the current binding level,
returning this declaration. If this is a redeclaration,
do nothing and return NULL_TREE. */
/* Insert another USING_DECL into the current binding level, returning
this declaration. If this is a redeclaration, do nothing, and
return NULL_TREE if this not in namespace scope (in namespace
scope, a using decl might extend any previous bindings). */
tree
push_using_decl (scope, name)
@ -4403,7 +4404,7 @@ push_using_decl (scope, name)
if (DECL_INITIAL (decl) == scope && DECL_NAME (decl) == name)
break;
if (decl)
return NULL_TREE;
return namespace_bindings_p () ? decl : NULL_TREE;
decl = build_lang_decl (USING_DECL, name, void_type_node);
DECL_INITIAL (decl) = scope;
TREE_CHAIN (decl) = current_binding_level->usings;

View File

@ -4402,6 +4402,8 @@ qualified_lookup_using_namespace (name, scope, result, flags)
/* ... and a list of namespace yet to see. */
tree todo = NULL_TREE;
tree usings;
/* Look through namespace aliases. */
scope = ORIGINAL_NAMESPACE (scope);
while (scope && (result != error_mark_node))
{
seen = tree_cons (scope, NULL_TREE, seen);