patch: use AssignmentMemcpyizer for implicitly-defined move assignment operator

David Blaikie dblaikie at
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> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the cfe-commits mailing list