<div dir="ltr">LGTM (+Lang who wrote the AssignmentMemcpyizer, if I recall correctly, in case he has any thoughts on this)</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 9, 2013 at 8:51 PM, Nick Lewycky <span dir="ltr"><<a href="mailto:nlewycky@google.com" target="_blank">nlewycky@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The implicit definition provided for the move assignment operator doesn't take advantage of the memcpy'izer like the copy assignment operator does.<div>
<br></div><div>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.</div>
<div><br></div><div>(What about move constructors? Those are CXXConstructorDecl's and end up in EmitConstructorBody as appropriate.)</div><div><br></div><div>Patch attached, please review!</div><span class="HOEnZb"><font color="#888888"><div>
<br></div><div>Nick</div>
</font></span></div>
<br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div><br></div>