parse.y (namespace_qualifier): Fix multiple level handling.

* parse.y (namespace_qualifier): Fix multiple level handling.
	* decl2.c (namespace_ancestor): Use CP_DECL_CONTEXT.
	(arg_assoc): Don't skip the first argument of a function.

From-SVN: r21165
This commit is contained in:
Jason Merrill 1998-07-14 20:47:48 +00:00 committed by Jason Merrill
parent 5d01f362ff
commit a41461c940
4 changed files with 761 additions and 756 deletions

View file

@ -1,3 +1,9 @@
1998-07-14 Jason Merrill <jason@yorick.cygnus.com>
* parse.y (namespace_qualifier): Fix multiple level handling.
* decl2.c (namespace_ancestor): Use CP_DECL_CONTEXT.
(arg_assoc): Don't skip the first argument of a function.
Tue Jul 14 20:09:22 1998 Jeffrey A Law (law@cygnus.com)
* search.c (my_tree_cons): Clean up.

View file

@ -3845,7 +3845,7 @@ namespace_ancestor (ns1, ns2)
{
if (is_namespace_ancestor (ns1, ns2))
return ns1;
return namespace_ancestor (DECL_CONTEXT (ns1), ns2);
return namespace_ancestor (CP_DECL_CONTEXT (ns1), ns2);
}
/* Insert used into the using list of user. Set indirect_flag if this
@ -4341,11 +4341,8 @@ arg_assoc (k, n)
n = TREE_VALUE (n);
continue;
case FUNCTION_DECL: /* 'd' */
if (arg_assoc_args (k, FUNCTION_ARG_CHAIN (n)))
if (arg_assoc_args (k, TYPE_ARG_TYPES (TREE_TYPE (n))))
return 1;
if (DECL_FUNCTION_MEMBER_P (n))
if (arg_assoc_type (k, DECL_CLASS_CONTEXT (n)))
return 1;
return 0;
case TEMPLATE_DECL:
/* XXX Type of a function template in the context of Koenig lookup?

File diff suppressed because it is too large Load diff

View file

@ -457,6 +457,7 @@ namespace_qualifier:
}
| namespace_qualifier NSNAME SCOPE
{
$$ = $2;
if (TREE_CODE ($$) == IDENTIFIER_NODE)
$$ = lastiddecl;
got_scope = $$;