UseListShuffleVector: Add a copy constructor to appease msc17.
[oota-llvm.git] / include / llvm / IR / UseListOrder.h
index 128793bf6b3777611fe37b4b1bb3a1da61678baf..c56d1cac617b0a045fecf5a9a5510c319f3226ab 100644 (file)
@@ -48,6 +48,13 @@ public:
     std::memcpy(this, &X, sizeof(UseListShuffleVector));
     X.Size = 0;
   }
+  UseListShuffleVector(const UseListShuffleVector &X) {
+    std::memcpy(this, &X, sizeof(UseListShuffleVector));
+    if (!isSmall()) {
+      Storage.Ptr = new unsigned[Size];
+      std::memcpy(Storage.Ptr, X.Storage.Ptr, Size * sizeof(*Storage.Ptr));
+    }
+  }
   explicit UseListShuffleVector(size_t Size) : Size(Size) {
     if (!isSmall())
       Storage.Ptr = new unsigned[Size];