UseListShuffleVector: Remove copy constructor

Remove the copy constructor added in r214178 to appease MSVC17 since it
shouldn't be called at all.  My guess is that explicitly deleting it
will make the compiler happy.  To round out the operations I've also
deleted copy assignment and added move assignment.  Otherwise no
functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214213 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith 2014-07-29 20:45:52 +00:00
parent 49d1690338
commit bcb3a41891

View File

@ -51,15 +51,17 @@ class UseListShuffleVector {
X.Size = 0;
}
UseListShuffleVector(const UseListShuffleVector &X) LLVM_DELETED_FUNCTION;
UseListShuffleVector &
operator=(const UseListShuffleVector &X) LLVM_DELETED_FUNCTION;
public:
UseListShuffleVector() : Size(0) {}
UseListShuffleVector(UseListShuffleVector &&X) { moveUnchecked(X); }
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));
}
UseListShuffleVector &operator=(UseListShuffleVector &&X) {
destroy();
moveUnchecked(X);
return *this;
}
explicit UseListShuffleVector(size_t Size) : Size(Size) {
if (!isSmall())