<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 25, 2016 at 3:37 PM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.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">Ah, fair enough then - carry on. (consider this code review approval if you like (I'm by no means a code owner in this particular corner, but would be comfortable enough committing similar changes myself))</div></blockquote><div><br></div><div>No worries, I just figured I should open a PR in case anyone had a better idea than mine. The fix seemed strictly better than a comment, but hey it's Friday! I'll commit tomorrow if not :-)</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 25, 2016 at 3:33 PM, JF Bastien <span dir="ltr"><<a href="mailto:jfb@chromium.org" target="_blank">jfb@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">It's not available in libstdc++ before GCC 5.1. </p><div><div>
<div class="gmail_quote">On Mar 25, 2016 3:03 PM, "David Blaikie" <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Could/should we be using a standard trait (std::is_trivially_copyable)?</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 25, 2016 at 3:00 PM, JF Bastien via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">jfb created this revision.<br>
jfb added a subscriber: llvm-commits.<br>
<br>
isPodLike is as close as we have for is_trivially_copyable.<br>
<br>
<a href="http://reviews.llvm.org/D18483" rel="noreferrer" target="_blank">http://reviews.llvm.org/D18483</a><br>
<br>
Files:<br>
  lib/CodeGen/MachineInstr.cpp<br>
<br>
Index: lib/CodeGen/MachineInstr.cpp<br>
===================================================================<br>
--- lib/CodeGen/MachineInstr.cpp<br>
+++ lib/CodeGen/MachineInstr.cpp<br>
@@ -38,6 +38,7 @@<br>
 #include "llvm/Support/ErrorHandling.h"<br>
 #include "llvm/Support/MathExtras.h"<br>
 #include "llvm/Support/raw_ostream.h"<br>
+#include "llvm/Support/type_traits.h"<br>
 #include "llvm/Target/TargetInstrInfo.h"<br>
 #include "llvm/Target/TargetMachine.h"<br>
 #include "llvm/Target/TargetRegisterInfo.h"<br>
@@ -757,7 +758,8 @@<br>
   if (MRI)<br>
     return MRI->moveOperands(Dst, Src, NumOps);<br>
<br>
-  // MachineOperand is a trivially copyable type so we can just use memmove.<br>
+  static_assert(isPodLike<MachineOperand>::value,<br>
+                "must be trivially copyable to memmove");<br>
   std::memmove(Dst, Src, NumOps * sizeof(MachineOperand));<br>
 }<br>
<br>
<br>
<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>
</blockquote></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>