UseListShuffleVector: Add a copy constructor to appease msc17.
authorNAKAMURA Takumi <geek4civic@gmail.com>
Tue, 29 Jul 2014 12:20:50 +0000 (12:20 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Tue, 29 Jul 2014 12:20:50 +0000 (12:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214178 91177308-0d34-0410-b5e6-96231b3b80d8

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];