patch: use AssignmentMemcpyizer for implicitly-defined move assignment operator

David Blaikie dblaikie at gmail.com
Mon Sep 9 22:09:51 PDT 2013


LGTM (+Lang who wrote the AssignmentMemcpyizer, if I recall correctly, in
case he has any thoughts on this)


On Mon, Sep 9, 2013 at 8:51 PM, Nick Lewycky <nlewycky at google.com> wrote:

> The implicit definition provided for the move assignment operator doesn't
> take advantage of the memcpy'izer like the copy assignment operator does.
>
> It turns out that the AssignmentMemcpyizer will work perfectly with no
> changes. The decision for whether a field is memcpy'able is the same for
> copy and move assignment, and in the case where something isn't memcpy'able
> it falls back to generic EmitStmt on the synthesized AST, which will be
> calling the member's move-assignment or copy-assignment operator as
> appropriate.
>
> (What about move constructors? Those are CXXConstructorDecl's and end up
> in EmitConstructorBody as appropriate.)
>
> Patch attached, please review!
>
> Nick
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130909/ac236aa0/attachment.html>


More information about the cfe-commits mailing list