<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 24, 2016 at 10:22 AM Krzysztof Parzyszek <<a href="mailto:kparzysz@codeaurora.org">kparzysz@codeaurora.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">IIRC declaring constructors effectively disables any default ones,<br class="gmail_msg">
unless they are explicitly listed as well.</blockquote><div><br>Nah - only declaring the special ones disables other special ones.<br><br>If you don't write any of the move/copy ops (or the dtor), you'll get them all for free.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Is this causing a problem<br class="gmail_msg">
somewhere?<br class="gmail_msg"></blockquote><div><br>Nope - just figure less code's generally better, when we can help it :)<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This not strictly necessary for any functional purpose (other than<br class="gmail_msg">
potential performance gains).<br class="gmail_msg">
<br class="gmail_msg">
-Krzysztof<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
On 10/24/2016 10:46 AM, David Blaikie wrote:<br class="gmail_msg">
> Do you need to write any of these out, or could you just let them be<br class="gmail_msg">
> provided as implicit defaults?<br class="gmail_msg">
><br class="gmail_msg">
> On Mon, Oct 24, 2016 at 6:24 AM Krzysztof Parzyszek via llvm-commits<br class="gmail_msg">
> <<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a> <mailto:<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>>> wrote:<br class="gmail_msg">
><br class="gmail_msg">
>     Author: kparzysz<br class="gmail_msg">
>     Date: Mon Oct 24 08:15:20 2016<br class="gmail_msg">
>     New Revision: 284972<br class="gmail_msg">
><br class="gmail_msg">
>     URL: <a href="http://llvm.org/viewvc/llvm-project?rev=284972&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=284972&view=rev</a><br class="gmail_msg">
>     Log:<br class="gmail_msg">
>     [RDF] Add default move constructors/assignment operators<br class="gmail_msg">
><br class="gmail_msg">
>     Modified:<br class="gmail_msg">
>         llvm/trunk/lib/Target/Hexagon/RDFGraph.h<br class="gmail_msg">
><br class="gmail_msg">
>     Modified: llvm/trunk/lib/Target/Hexagon/RDFGraph.h<br class="gmail_msg">
>     URL:<br class="gmail_msg">
>     <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/RDFGraph.h?rev=284972&r1=284971&r2=284972&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/RDFGraph.h?rev=284972&r1=284971&r2=284972&view=diff</a><br class="gmail_msg">
>     ==============================================================================<br class="gmail_msg">
>     --- llvm/trunk/lib/Target/Hexagon/RDFGraph.h (original)<br class="gmail_msg">
>     +++ llvm/trunk/lib/Target/Hexagon/RDFGraph.h Mon Oct 24 08:15:20 2016<br class="gmail_msg">
>     @@ -329,7 +329,9 @@ namespace rdf {<br class="gmail_msg">
>          NodeAddr() : Addr(nullptr), Id(0) {}<br class="gmail_msg">
>          NodeAddr(T A, NodeId I) : Addr(A), Id(I) {}<br class="gmail_msg">
>          NodeAddr(const NodeAddr&) = default;<br class="gmail_msg">
>     +    NodeAddr(NodeAddr&&) = default;<br class="gmail_msg">
>          NodeAddr &operator= (const NodeAddr&) = default;<br class="gmail_msg">
>     +    NodeAddr &operator= (NodeAddr&&) = default;<br class="gmail_msg">
><br class="gmail_msg">
>          bool operator== (const NodeAddr<T> &NA) const {<br class="gmail_msg">
>            assert((Addr == NA.Addr) == (Id == NA.Id));<br class="gmail_msg">
>     @@ -407,8 +409,10 @@ namespace rdf {<br class="gmail_msg">
>          RegisterRef() : RegisterRef(0) {}<br class="gmail_msg">
>          explicit RegisterRef(RegisterId R, LaneBitmask M = ~LaneBitmask(0))<br class="gmail_msg">
>            : Reg(R), Mask(R != 0 ? M : 0) {}<br class="gmail_msg">
>     -    RegisterRef(const RegisterRef &RR) = default;<br class="gmail_msg">
>     -    RegisterRef &operator= (const RegisterRef &RR) = default;<br class="gmail_msg">
>     +    RegisterRef(const RegisterRef&) = default;<br class="gmail_msg">
>     +    RegisterRef(RegisterRef&&) = default;<br class="gmail_msg">
>     +    RegisterRef &operator= (const RegisterRef&) = default;<br class="gmail_msg">
>     +    RegisterRef &operator= (RegisterRef&&) = default;<br class="gmail_msg">
>          operator bool() const { return Reg != 0 && Mask !=<br class="gmail_msg">
>     LaneBitmask(0); }<br class="gmail_msg">
>          bool operator== (const RegisterRef &RR) const {<br class="gmail_msg">
>            return Reg == RR.Reg && Mask == RR.Mask;<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>     _______________________________________________<br class="gmail_msg">
>     llvm-commits mailing list<br class="gmail_msg">
>     <a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a> <mailto:<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>><br class="gmail_msg">
>     <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
><br class="gmail_msg">
<br class="gmail_msg">
--<br class="gmail_msg">
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,<br class="gmail_msg">
hosted by The Linux Foundation<br class="gmail_msg">
</blockquote></div></div>