On Fri, Dec 12, 2025 at 11:25:57AM -0500, Marek Polacek wrote:
> @@ -6120,6 +6119,9 @@ cp_parser_splice_specifier (cp_parser *parser, bool 
> template_p = false,
>        return error_mark_node;
>      }
>  
> +  /* Remember if we are accessing a member of some object.  */
> +  const bool member_access_p = !!parser->context->object_type;
> +
>    tree expr;
>    {
>      /* Temporarily clear parser->context->object_type.  E.g.,

I think this isn't even needed, you can then just drop the
member_access_p && part of
      /* For member access splice-specialization-specifier, try to wrap
         non-dependent splice for function template into a BASELINK so
         that cp_parser_template_id can handle it.  */
      if (member_access_p
          && parser->context->object_type
          && DECL_FUNCTION_TEMPLATE_P (OVL_FIRST (expr))
          && !dependent_type_p (parser->context->object_type))
Because object_type is only temporarily overridden, it will be restored
to what it was at the beginning and so can be just tested here.

        Jakub

Reply via email to