<div dir="ltr">Might be worth updating the comment about why it's there now.<br><br><div class="gmail_quote"><div dir="ltr">On Thu, Oct 20, 2016 at 9:59 AM Benjamin Kramer via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: d0k<br class="gmail_msg">
Date: Thu Oct 20 11:50:07 2016<br class="gmail_msg">
New Revision: 284745<br class="gmail_msg">
<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=284745&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=284745&view=rev</a><br class="gmail_msg">
Log:<br class="gmail_msg">
Put the move ctor for PassManager back for now, it breaks some builds.<br class="gmail_msg">
<br class="gmail_msg">
For some reason using the default move ctor creates undefined references<br class="gmail_msg">
to it.<br class="gmail_msg">
<br class="gmail_msg">
Modified:<br class="gmail_msg">
    llvm/trunk/include/llvm/IR/PassManager.h<br class="gmail_msg">
<br class="gmail_msg">
Modified: llvm/trunk/include/llvm/IR/PassManager.h<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/PassManager.h?rev=284745&r1=284744&r2=284745&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/PassManager.h?rev=284745&r1=284744&r2=284745&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- llvm/trunk/include/llvm/IR/PassManager.h (original)<br class="gmail_msg">
+++ llvm/trunk/include/llvm/IR/PassManager.h Thu Oct 20 11:50:07 2016<br class="gmail_msg">
@@ -241,8 +241,16 @@ public:<br class="gmail_msg">
   ///<br class="gmail_msg">
   /// It can be passed a flag to get debug logging as the passes are run.<br class="gmail_msg">
   PassManager(bool DebugLogging = false) : DebugLogging(DebugLogging) {}<br class="gmail_msg">
-  PassManager(PassManager &&) = default;<br class="gmail_msg">
-  PassManager &operator=(PassManager &&) = default;<br class="gmail_msg">
+  // We have to explicitly define all the special member functions because MSVC<br class="gmail_msg">
+  // refuses to generate them.<br class="gmail_msg">
+  PassManager(PassManager &&Arg)<br class="gmail_msg">
+      : Passes(std::move(Arg.Passes)),<br class="gmail_msg">
+        DebugLogging(std::move(Arg.DebugLogging)) {}<br class="gmail_msg">
+  PassManager &operator=(PassManager &&RHS) {<br class="gmail_msg">
+    Passes = std::move(RHS.Passes);<br class="gmail_msg">
+    DebugLogging = std::move(RHS.DebugLogging);<br class="gmail_msg">
+    return *this;<br class="gmail_msg">
+  }<br class="gmail_msg">
<br class="gmail_msg">
   /// \brief Run all of the passes in this manager over the IR.<br class="gmail_msg">
   PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM,<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><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">
</blockquote></div></div>