patch: fix fixit taking address of member and related crash

Nick Lewycky nlewycky at google.com
Mon Jun 23 10:21:53 PDT 2014


Ping! +cc Kaelyn for typo correction review?

On 11 June 2014 07:46, Nick Lewycky <nlewycky at google.com> wrote:

> The attached patch fixes two bugs in one. We were correcting
> address-of-member to use the non-qualified form when it was in scope (ie.,
> &Foo::typo became &corrected when we were inside Foo::method). However,
> this changes the expression from pointer to member to pointer to T (see
> [expr.unary.op]/3). This is fixed by propagating isAddressOfMember through
> the correction callback, though we now get an extra leading :: for no good
> reason. That is a separate bug, at least.
>
> The crash is because we failed to set a naming class when doing to name
> lookup of the member and finding it in a different class. Given
> &ValidButWrongOne::member we would start typo correction on "member" and
> find &ValidAndRightOne::member, we've got to mark down that the naming
> class is now ValidAndRightOne.
>
> Patch attached, please review!
>
> Nick
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140623/7099e2ab/attachment.html>


More information about the cfe-commits mailing list