On Sat, Sep 28, 2019 at 7:33 AM Marek Polacek <pola...@redhat.com> wrote:
> On Fri, Sep 27, 2019 at 10:08:49PM -0400, Jason Merrill wrote:
> > On 9/26/19 9:45 PM, Marek Polacek wrote:
> > > Jason, you remarked that adding a ck_qual under the ck_ref_bind might be
> > > too much trouble, but it seems it's actually fairly simple.  The comments
> > > hopefully explain my thinking.  Is this what you had in mind?
> >
> > Yes, I'm glad to hear it was simpler than I worried it would be.
> >
> > > +   /* direct_reference_binding might have inserted a ck_qual under
> > > +      this ck_ref_bind for the benefit of conversion sequence ranking.
> > > +      Ignore the conversion; we'll create our own below.  */
> > > +   if (next_conversion (convs)->kind == ck_qual)
> > > +     {
> > > +       gcc_assert (same_type_p (TREE_TYPE (expr),
> > > +                                next_conversion (convs)->type));
> > > +       STRIP_NOPS (expr);
> >
> > Why STRIP_NOPS?
>
> I needed to strip the cast the ck_qual had created so that the call to
> cp_build_addr_expr below won't fail with "lvalue required as the operand of 
> &".
> Perhaps a comment should explain it.

OK with the comment.

Jason

Reply via email to