[llvm] r278363 - Add move ops to satisfy MSVC.

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 11 10:19:53 PDT 2016


Author: tejohnson
Date: Thu Aug 11 12:19:53 2016
New Revision: 278363

URL: http://llvm.org/viewvc/llvm-project?rev=278363&view=rev
Log:
Add move ops to satisfy MSVC.

Try to appease MSVC bot:
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/27164/steps/run%20tests/logs/stdio

Modified:
    llvm/trunk/include/llvm/LTO/Config.h

Modified: llvm/trunk/include/llvm/LTO/Config.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/LTO/Config.h?rev=278363&r1=278362&r2=278363&view=diff
==============================================================================
--- llvm/trunk/include/llvm/LTO/Config.h (original)
+++ llvm/trunk/include/llvm/LTO/Config.h Thu Aug 11 12:19:53 2016
@@ -121,6 +121,52 @@ struct Config {
       CombinedIndexHookFn;
   CombinedIndexHookFn CombinedIndexHook;
 
+  Config() {}
+  // FIXME: Remove once MSVC can synthesize move ops.
+  Config(Config &&X)
+      : CPU(std::move(X.CPU)), Features(std::move(X.Features)),
+        Options(std::move(X.Options)), MAttrs(std::move(X.MAttrs)),
+        RelocModel(std::move(X.RelocModel)), CodeModel(std::move(X.CodeModel)),
+        CGOptLevel(std::move(X.CGOptLevel)), OptLevel(std::move(X.OptLevel)),
+        DisableVerify(std::move(X.DisableVerify)),
+        OverrideTriple(std::move(X.OverrideTriple)),
+        DefaultTriple(std::move(X.DefaultTriple)),
+        ShouldDiscardValueNames(std::move(X.ShouldDiscardValueNames)),
+        DiagHandler(std::move(X.DiagHandler)),
+        ResolutionFile(std::move(X.ResolutionFile)),
+        PreOptModuleHook(std::move(X.PreOptModuleHook)),
+        PostPromoteModuleHook(std::move(X.PostPromoteModuleHook)),
+        PostInternalizeModuleHook(std::move(X.PostInternalizeModuleHook)),
+        PostImportModuleHook(std::move(X.PostImportModuleHook)),
+        PostOptModuleHook(std::move(X.PostOptModuleHook)),
+        PreCodeGenModuleHook(std::move(X.PreCodeGenModuleHook)),
+        CombinedIndexHook(std::move(X.CombinedIndexHook)) {}
+  // FIXME: Remove once MSVC can synthesize move ops.
+  Config &operator=(Config &&X) {
+    CPU = std::move(X.CPU);
+    Features = std::move(X.Features);
+    Options = std::move(X.Options);
+    MAttrs = std::move(X.MAttrs);
+    RelocModel = std::move(X.RelocModel);
+    CodeModel = std::move(X.CodeModel);
+    CGOptLevel = std::move(X.CGOptLevel);
+    OptLevel = std::move(X.OptLevel);
+    DisableVerify = std::move(X.DisableVerify);
+    OverrideTriple = std::move(X.OverrideTriple);
+    DefaultTriple = std::move(X.DefaultTriple);
+    ShouldDiscardValueNames = std::move(X.ShouldDiscardValueNames);
+    DiagHandler = std::move(X.DiagHandler);
+    ResolutionFile = std::move(X.ResolutionFile);
+    PreOptModuleHook = std::move(X.PreOptModuleHook);
+    PostPromoteModuleHook = std::move(X.PostPromoteModuleHook);
+    PostInternalizeModuleHook = std::move(X.PostInternalizeModuleHook);
+    PostImportModuleHook = std::move(X.PostImportModuleHook);
+    PostOptModuleHook = std::move(X.PostOptModuleHook);
+    PreCodeGenModuleHook = std::move(X.PreCodeGenModuleHook);
+    CombinedIndexHook = std::move(X.CombinedIndexHook);
+    return *this;
+  }
+
   /// This is a convenience function that configures this Config object to write
   /// temporary files named after the given OutputFileName for each of the LTO
   /// phases to disk. A client can use this function to implement -save-temps.




More information about the llvm-commits mailing list