mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-06 20:10:26 +00:00
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:
parent
49d1690338
commit
bcb3a41891
@ -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())
|
||||
|
Loading…
Reference in New Issue
Block a user