OK.
On Mon, Jan 29, 2018 at 5:00 PM, Paolo Carlini <paolo.carl...@oracle.com> wrote: > Hi, > > On 29/01/2018 21:41, Jason Merrill wrote: >> >> 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? > > Indeed it appears to work great and would make for a nice simplification, > thanks! Testing the below is already past the C++ testsuite. Ok if it fully > passes? > > Thanks again, > Paolo. > > //////////////////