Explicitly define move constructor and move assignment operator to appease MSVC.
[oota-llvm.git] / lib / Support / SpecialCaseList.cpp
index a81ba23ff6d6e05084ee2af919b7d3af8e4b1f55..43824891af3897480bfcaa780b6be423293a96a1 100644 (file)
@@ -34,6 +34,15 @@ namespace llvm {
 /// reason for doing so is efficiency; StringSet is much faster at matching
 /// literal strings than Regex.
 struct SpecialCaseList::Entry {
+  Entry() {}
+  Entry(Entry &&Other)
+      : Strings(std::move(Other.Strings)), RegEx(std::move(Other.RegEx)) {}
+  Entry &operator=(Entry &&Other) {
+    Strings = std::move(Other.Strings);
+    RegEx = std::move(Other.RegEx);
+    return *this;
+  }
+
   StringSet<> Strings;
   std::unique_ptr<Regex> RegEx;