From: David Blaikie Date: Wed, 12 Aug 2015 23:26:12 +0000 (+0000) Subject: Simplify PackedVector by removing user-defined special members that aren't any differ... X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=149fe5ef04fc5f3036085233cd1f65b83e49b2e2;hp=4c12d595707075f400c00f54da56650c9f46b7e3 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 --- diff --git a/include/llvm/ADT/PackedVector.h b/include/llvm/ADT/PackedVector.h index 2341e89fa11..09267173fd7 100644 --- a/include/llvm/ADT/PackedVector.h +++ b/include/llvm/ADT/PackedVector.h @@ -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. diff --git a/unittests/ADT/PackedVectorTest.cpp b/unittests/ADT/PackedVectorTest.cpp index 55b5d8d049d..199a6704309 100644 --- a/unittests/ADT/PackedVectorTest.cpp +++ b/unittests/ADT/PackedVectorTest.cpp @@ -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);