From: Vlad Tsyrklevich Date: Fri, 7 Jun 2019 18:34:29 +0000 (+0000) Subject: Revert "[ADT] Enable set_difference() to be used on StringSet" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=949fb459df20615366d8fd751d00ad13bd1bef2e;p=llvm Revert "[ADT] Enable set_difference() to be used on StringSet" This reverts commit 0bddef79019a23ab14fcdb27028e55e484674c88, it was causing ASan failures on the sanitizer bots: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/32800 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362823 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/StringMap.h b/include/llvm/ADT/StringMap.h index 8a586fc2670..d94e4836877 100644 --- a/include/llvm/ADT/StringMap.h +++ b/include/llvm/ADT/StringMap.h @@ -359,11 +359,6 @@ public: return find(Key) == end() ? 0 : 1; } - template - size_type count(const StringMapEntry &MapEntry) const { - return count(MapEntry.getKey()); - } - /// insert - Insert the specified key/value pair into the map. If the key /// already exists in the map, return false and ignore the request, otherwise /// insert it and return true. diff --git a/include/llvm/ADT/StringSet.h b/include/llvm/ADT/StringSet.h index af3a44a7b32..25ad359b035 100644 --- a/include/llvm/ADT/StringSet.h +++ b/include/llvm/ADT/StringSet.h @@ -45,12 +45,6 @@ namespace llvm { for (auto It = Begin; It != End; ++It) base::insert(std::make_pair(*It, '\0')); } - - template - std::pair - insert(const StringMapEntry &MapEntry) { - return insert(MapEntry.getKey()); - } }; } // end namespace llvm diff --git a/unittests/ADT/CMakeLists.txt b/unittests/ADT/CMakeLists.txt index 676ce181871..d2a35273389 100644 --- a/unittests/ADT/CMakeLists.txt +++ b/unittests/ADT/CMakeLists.txt @@ -65,7 +65,6 @@ add_llvm_unittest(ADTTests StringExtrasTest.cpp StringMapTest.cpp StringRefTest.cpp - StringSetTest.cpp StringSwitchTest.cpp TinyPtrVectorTest.cpp TripleTest.cpp diff --git a/unittests/ADT/StringMapTest.cpp b/unittests/ADT/StringMapTest.cpp index 4038d4d3d2f..841b5153935 100644 --- a/unittests/ADT/StringMapTest.cpp +++ b/unittests/ADT/StringMapTest.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "llvm/ADT/StringMap.h" +#include "llvm/ADT/StringSet.h" #include "llvm/ADT/Twine.h" #include "llvm/Support/DataTypes.h" #include "gtest/gtest.h" @@ -283,6 +284,20 @@ TEST_F(StringMapTest, IterMapKeys) { EXPECT_EQ(Expected, Keys); } +TEST_F(StringMapTest, IterSetKeys) { + StringSet<> Set; + Set.insert("A"); + Set.insert("B"); + Set.insert("C"); + Set.insert("D"); + + auto Keys = to_vector<4>(Set.keys()); + llvm::sort(Keys); + + SmallVector Expected = {"A", "B", "C", "D"}; + EXPECT_EQ(Expected, Keys); +} + // Create a non-default constructable value struct StringMapTestStruct { StringMapTestStruct(int i) : i(i) {} diff --git a/unittests/ADT/StringSetTest.cpp b/unittests/ADT/StringSetTest.cpp deleted file mode 100644 index 822fe52f191..00000000000 --- a/unittests/ADT/StringSetTest.cpp +++ /dev/null @@ -1,43 +0,0 @@ -//===- llvm/unittest/ADT/StringSetTest.cpp - StringSet unit tests ----------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "llvm/ADT/StringSet.h" -#include "gtest/gtest.h" -using namespace llvm; - -namespace { - -// Test fixture -class StringSetTest : public testing::Test {}; - -TEST_F(StringSetTest, IterSetKeys) { - StringSet<> Set; - Set.insert("A"); - Set.insert("B"); - Set.insert("C"); - Set.insert("D"); - - auto Keys = to_vector<4>(Set.keys()); - llvm::sort(Keys); - - SmallVector Expected = {"A", "B", "C", "D"}; - EXPECT_EQ(Expected, Keys); -} - -TEST_F(StringSetTest, InsertAndCountStringMapEntry) { - // Test insert(StringMapEntry) and count(StringMapEntry) - // which are required for set_difference(StringSet, StringSet). - StringSet<> Set; - StringMapEntry Element(1, "A"); - Set.insert(Element); - size_t Count = Set.count(Element); - size_t Expected = 1; - EXPECT_EQ(Expected, Count); -} - -} // end anonymous namespace