diff --git a/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h b/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h index 13f6a2a7f22..f239e03f1b4 100644 --- a/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h +++ b/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h @@ -48,8 +48,24 @@ private: struct InlineGraphNode { // Default-constructible and movable. InlineGraphNode() = default; - InlineGraphNode(InlineGraphNode &&) = default; - InlineGraphNode &operator=(InlineGraphNode &&) = default; + // FIXME: make them default ctors when we won't support ancient compilers + // like MSVS-2013. + InlineGraphNode(InlineGraphNode &&Other) + : InlinedCallees(std::move(Other.InlinedCallees)), + NumberOfInlines(Other.NumberOfInlines), + NumberOfRealInlines(Other.NumberOfRealInlines), + Imported(Other.Imported), + Visited(Other.Visited) {} + + InlineGraphNode &operator=(InlineGraphNode &&Other) { + InlinedCallees = std::move(Other.InlinedCallees); + NumberOfInlines = Other.NumberOfInlines; + NumberOfRealInlines = Other.NumberOfRealInlines; + Imported = Other.Imported; + Visited = Other.Visited; + return *this; + } + InlineGraphNode(const InlineGraphNode &) = delete; InlineGraphNode &operator=(const InlineGraphNode &) = delete;