diff --git a/llvm/include/llvm/ADT/ValueMap.h b/llvm/include/llvm/ADT/ValueMap.h index f75606810978..181fe71e3704 100644 --- a/llvm/include/llvm/ADT/ValueMap.h +++ b/llvm/include/llvm/ADT/ValueMap.h @@ -82,18 +82,12 @@ class ValueMap { typedef typename Config::ExtraData ExtraData; MapT Map; ExtraData Data; + ValueMap(const ValueMap&); // DO NOT IMPLEMENT public: typedef KeyT key_type; typedef ValueT mapped_type; typedef std::pair value_type; - ValueMap(const ValueMap& Other) : Map(Other.Map), Data(Other.Data) { - // Each ValueMapCVH key contains a pointer to the containing ValueMap. - // The keys in the new map need to point to the new map, not Other. - for (typename MapT::iterator I = Map.begin(), E = Map.end(); I != E; ++I) - I->first.Map = this; - } - explicit ValueMap(unsigned NumInitBuckets = 64) : Map(NumInitBuckets), Data() {} explicit ValueMap(const ExtraData &Data, unsigned NumInitBuckets = 64) diff --git a/llvm/unittests/ADT/ValueMapTest.cpp b/llvm/unittests/ADT/ValueMapTest.cpp index ff7c3b55b70e..152e8eaaf1f1 100644 --- a/llvm/unittests/ADT/ValueMapTest.cpp +++ b/llvm/unittests/ADT/ValueMapTest.cpp @@ -39,15 +39,6 @@ protected: typedef ::testing::Types KeyTypes; TYPED_TEST_CASE(ValueMapTest, KeyTypes); -TYPED_TEST(ValueMapTest, CopyConstructor) { - ValueMap VM1; - VM1[this->AddV.get()] = 7; - ValueMap VM2(VM1); - this->AddV.reset(); - EXPECT_TRUE(VM1.empty()); - EXPECT_TRUE(VM2.empty()); -} - TYPED_TEST(ValueMapTest, Null) { ValueMap VM1; VM1[NULL] = 7;