mirror of
https://github.com/RPCS3/llvm.git
synced 2025-04-03 22:01:56 +00:00
Simplify PackedVector by removing user-defined special members that aren't any different than the defaults
This causes the other special members (like move and copy construction, and move assignment) to come through for free. Some code in clang was depending on the (deprecated, in the original code) copy ctor. Now that there's no user-defined special members, they're all available without any deprecation concerns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244835 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4c12d59570
commit
149fe5ef04
@ -96,7 +96,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
PackedVector() { }
|
||||
PackedVector() = default;
|
||||
explicit PackedVector(unsigned size) : Bits(size << (BitNum-1)) { }
|
||||
|
||||
bool empty() const { return Bits.empty(); }
|
||||
@ -135,19 +135,10 @@ public:
|
||||
return Bits != RHS.Bits;
|
||||
}
|
||||
|
||||
const PackedVector &operator=(const PackedVector &RHS) {
|
||||
Bits = RHS.Bits;
|
||||
return *this;
|
||||
}
|
||||
|
||||
PackedVector &operator|=(const PackedVector &RHS) {
|
||||
Bits |= RHS.Bits;
|
||||
return *this;
|
||||
}
|
||||
|
||||
void swap(PackedVector &RHS) {
|
||||
Bits.swap(RHS.Bits);
|
||||
}
|
||||
};
|
||||
|
||||
// Leave BitNum=0 undefined.
|
||||
|
@ -52,18 +52,6 @@ TEST(PackedVectorTest, Operation) {
|
||||
EXPECT_FALSE(Vec == Vec2);
|
||||
EXPECT_TRUE(Vec != Vec2);
|
||||
|
||||
Vec2.swap(Vec);
|
||||
EXPECT_EQ(3U, Vec.size());
|
||||
EXPECT_FALSE(Vec.empty());
|
||||
EXPECT_EQ(0U, Vec[0]);
|
||||
EXPECT_EQ(0U, Vec[1]);
|
||||
EXPECT_EQ(0U, Vec[2]);
|
||||
|
||||
EXPECT_EQ(2U, Vec2[0]);
|
||||
EXPECT_EQ(0U, Vec2[1]);
|
||||
EXPECT_EQ(1U, Vec2[2]);
|
||||
EXPECT_EQ(3U, Vec2[3]);
|
||||
|
||||
Vec = Vec2;
|
||||
EXPECT_TRUE(Vec == Vec2);
|
||||
EXPECT_FALSE(Vec != Vec2);
|
||||
|
Loading…
x
Reference in New Issue
Block a user