aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r--gcc/cp/search.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index f9fa166..7bab0b1 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -1117,11 +1117,12 @@ lookup_field_r (tree binfo, void *data)
}
else
nval = NULL_TREE;
- if (!nval)
+ if (!nval && CLASSTYPE_NESTED_UTDS (type) != NULL)
{
- nval = purpose_member (lfi->name, CLASSTYPE_TAGS (type));
- if (nval)
- nval = TYPE_MAIN_DECL (TREE_VALUE (nval));
+ binding_entry e = binding_table_find (CLASSTYPE_NESTED_UTDS (type),
+ lfi->name);
+ if (e != NULL)
+ nval = TYPE_MAIN_DECL (e->type);
else
return NULL_TREE;
}