From 149fe5ef04fc5f3036085233cd1f65b83e49b2e2 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Wed, 12 Aug 2015 23:26:12 +0000 Subject: [PATCH 1/1] 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 --- include/llvm/ADT/PackedVector.h | 11 +---------- unittests/ADT/PackedVectorTest.cpp | 12 ------------ 2 files changed, 1 insertion(+), 22 deletions(-) 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); -- 2.34.1