[PM] Add a comment I missed and add the special members to one more
authorChandler Carruth <chandlerc@gmail.com>
Mon, 10 Mar 2014 00:54:01 +0000 (00:54 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 10 Mar 2014 00:54:01 +0000 (00:54 +0000)
class that might (at some point) need them.

llvm-svn: 203428

llvm/include/llvm/IR/PassManager.h

index d90db7b..e165245 100644 (file)
@@ -788,6 +788,8 @@ public:
 
   explicit FunctionAnalysisManagerModuleProxy(FunctionAnalysisManager &FAM)
       : FAM(FAM) {}
+  // We have to explicitly define all the special member functions because MSVC
+  // refuses to generate them.
   FunctionAnalysisManagerModuleProxy(
       const FunctionAnalysisManagerModuleProxy &Arg)
       : FAM(Arg.FAM) {}
@@ -892,6 +894,18 @@ public:
 
   ModuleAnalysisManagerFunctionProxy(const ModuleAnalysisManager &MAM)
       : MAM(MAM) {}
+  // We have to explicitly define all the special member functions because MSVC
+  // refuses to generate them.
+  ModuleAnalysisManagerFunctionProxy(
+      const ModuleAnalysisManagerFunctionProxy &Arg)
+      : MAM(Arg.MAM) {}
+  ModuleAnalysisManagerFunctionProxy(ModuleAnalysisManagerFunctionProxy &&Arg)
+      : MAM(Arg.MAM) {}
+  ModuleAnalysisManagerFunctionProxy &
+  operator=(ModuleAnalysisManagerFunctionProxy RHS) {
+    std::swap(*this, RHS);
+    return *this;
+  }
 
   /// \brief Run the analysis pass and create our proxy result object.
   /// Nothing to see here, it just forwards the \c MAM reference into the