Explicitly define move constructor and move assignment operator to appease MSVC.
authorPeter Collingbourne <peter@pcc.me.uk>
Thu, 10 Jul 2014 04:29:06 +0000 (04:29 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Thu, 10 Jul 2014 04:29:06 +0000 (04:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212679 91177308-0d34-0410-b5e6-96231b3b80d8

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;