[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203428 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/PassManager.h

index d90db7bf4063ad95dd3d6a5b6133d8372f7c914d..e16524577f9c370c43a982e0a0f7c07496cf106a 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