From 6193103722bd56025a86b814c01277bca8e67fc5 Mon Sep 17 00:00:00 2001 From: Sanjoy Das Date: Mon, 26 Sep 2016 00:00:51 +0000 Subject: [PATCH] Attempt to appease MSVC ... by explicitly deleting the copy constructor. llvm-svn: 282369 --- llvm/include/llvm/Analysis/ScalarEvolution.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/llvm/include/llvm/Analysis/ScalarEvolution.h b/llvm/include/llvm/Analysis/ScalarEvolution.h index 830334d..cd917b7 100644 --- a/llvm/include/llvm/Analysis/ScalarEvolution.h +++ b/llvm/include/llvm/Analysis/ScalarEvolution.h @@ -594,6 +594,11 @@ private: std::unique_ptr Predicate) : ExitingBlock(ExitingBlock), ExactNotTaken(ExactNotTaken), Predicate(std::move(Predicate)) {} + + // Clang builds fine without this, but MSVC does not. + ExitNotTakenInfo(const ExitNotTakenInfo &) = delete; + ExitNotTakenInfo(ExitNotTakenInfo &&) = default; + ExitNotTakenInfo &operator=(ExitNotTakenInfo &&) = default; }; /// Information about the backedge-taken count of a loop. This currently @@ -622,6 +627,10 @@ private: public: BackedgeTakenInfo() : MaxAndComplete(nullptr, 0) {} + BackedgeTakenInfo(const BackedgeTakenInfo &) = delete; + BackedgeTakenInfo(BackedgeTakenInfo &&) = default; + BackedgeTakenInfo &operator=(BackedgeTakenInfo &&) = default; + /// Initialize BackedgeTakenInfo from a list of exact exit counts. BackedgeTakenInfo(ArrayRef ExitCounts, bool Complete, const SCEV *MaxCount); -- 2.7.4