Commit 3d9850f4 by Nathan Sidwell Committed by Nathan Sidwell

search.c (lookup_field_r): Remove obsolete code for type-named field in PoD.

	* search.c (lookup_field_r): Remove obsolete code for type-named
	field in PoD.

From-SVN: r251243
parent 8e063904
2017-08-21 Nathan Sidwell <nathan@acm.org>
* search.c (lookup_field_r): Remove obsolete code for type-named
field in PoD.
* search.c (lookup_field_1): Assert TYPE is a class and VFIELD
isn't special.
(lookup_field_fuzzy_info::fuzzy_lookup_fnfields): Delete.
......
......@@ -1111,39 +1111,22 @@ lookup_field_r (tree binfo, void *data)
nval = dep_using;
}
/* If there is no declaration with the indicated name in this type,
then there's nothing to do. */
if (!nval)
goto done;
/* If we're looking up a type (as with an elaborated type specifier)
we ignore all non-types we find. */
if (lfi->want_type && !DECL_DECLARES_TYPE_P (nval))
if (lfi->want_type && nval && !DECL_DECLARES_TYPE_P (nval))
{
if (lfi->name == TYPE_IDENTIFIER (type))
{
/* If the aggregate has no user defined constructors, we allow
it to have fields with the same name as the enclosing type.
If we are looking for that name, find the corresponding
TYPE_DECL. */
for (nval = TREE_CHAIN (nval); nval; nval = TREE_CHAIN (nval))
if (DECL_NAME (nval) == lfi->name
&& TREE_CODE (nval) == TYPE_DECL)
break;
}
else
nval = NULL_TREE;
if (!nval && CLASSTYPE_NESTED_UTDS (type) != NULL)
{
binding_entry e = binding_table_find (CLASSTYPE_NESTED_UTDS (type),
lfi->name);
if (e != NULL)
nval = TYPE_MAIN_DECL (e->type);
else
goto done;
}
nval = NULL_TREE;
if (CLASSTYPE_NESTED_UTDS (type))
if (binding_entry e = binding_table_find (CLASSTYPE_NESTED_UTDS (type),
lfi->name))
nval = TYPE_MAIN_DECL (e->type);
}
/* If there is no declaration with the indicated name in this type,
then there's nothing to do. */
if (!nval)
goto done;
/* If the lookup already found a match, and the new value doesn't
hide the old one, we might have an ambiguity. */
if (lfi->rval_binfo
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment