diff options
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r-- | gcc/cp/search.c | 9 |
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; } |