1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

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

llvm-svn: 362823
This commit is contained in:
Vlad Tsyrklevich 2019-06-07 18:34:29 +00:00
parent 7c84fba09b
commit 202a53b7e4
5 changed files with 15 additions and 55 deletions

View File

@ -359,11 +359,6 @@ public:
return find(Key) == end() ? 0 : 1;
}
template <typename InputTy>
size_type count(const StringMapEntry<InputTy> &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.

View File

@ -45,12 +45,6 @@ namespace llvm {
for (auto It = Begin; It != End; ++It)
base::insert(std::make_pair(*It, '\0'));
}
template <typename ValueTy>
std::pair<typename base::iterator, bool>
insert(const StringMapEntry<ValueTy> &MapEntry) {
return insert(MapEntry.getKey());
}
};
} // end namespace llvm

View File

@ -65,7 +65,6 @@ add_llvm_unittest(ADTTests
StringExtrasTest.cpp
StringMapTest.cpp
StringRefTest.cpp
StringSetTest.cpp
StringSwitchTest.cpp
TinyPtrVectorTest.cpp
TripleTest.cpp

View File

@ -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<StringRef, 4> Expected = {"A", "B", "C", "D"};
EXPECT_EQ(Expected, Keys);
}
// Create a non-default constructable value
struct StringMapTestStruct {
StringMapTestStruct(int i) : i(i) {}

View File

@ -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<StringRef, 4> 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<StringRef> Element(1, "A");
Set.insert(Element);
size_t Count = Set.count(Element);
size_t Expected = 1;
EXPECT_EQ(Expected, Count);
}
} // end anonymous namespace