[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