On Mon, Jan 29, 2018 at 10:45 AM, Paolo Carlini <paolo.carl...@oracle.com> wrote: > the fix for c++/81236 removed some special code for dependent_p from > finish_id_expression, and now finish_qualified_id_expr is used for this > snippet too. Then special code at the beginning of the latter takes care of > calling build_qualified_name to create the relevant SCOPE_REF. Therefore it > seems to me that - unless we really want to return an OFFSET_REF - at that > point we are done, we don't want to get to the end of the following long > conditional and call again build_qualified_name on the SCOPE_REF and ICE. We > don't need convert_from_reference either because build_qualified_name is > passed a null type. Finishing testing (in the library) on x86_64-linux.
Hmm, it seems to me that the later code would handle this case fine if, instead of calling build_qualified_name here, we do qualifying_class = TYPE_CONTEXT (expr); expr = TYPE_IDENTIFIER (expr); Does that work? Jason