[llvm] r214213 - UseListShuffleVector: Remove copy constructor
Duncan P. N. Exon Smith
dexonsmith at apple.com
Tue Jul 29 13:45:53 PDT 2014
Author: dexonsmith
Date: Tue Jul 29 15:45:52 2014
New Revision: 214213
URL: http://llvm.org/viewvc/llvm-project?rev=214213&view=rev
Log:
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.
Modified:
llvm/trunk/include/llvm/IR/UseListOrder.h
Modified: llvm/trunk/include/llvm/IR/UseListOrder.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/UseListOrder.h?rev=214213&r1=214212&r2=214213&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/UseListOrder.h (original)
+++ llvm/trunk/include/llvm/IR/UseListOrder.h Tue Jul 29 15:45:52 2014
@@ -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())
More information about the llvm-commits
mailing list