diff options
author | Lang Hames <lhames@gmail.com> | 2018-10-15 18:34:36 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-10-15 18:34:36 +0000 |
commit | 28332c415c323d3d7db1031bd39f62498f18486e (patch) | |
tree | 9d74925557b9a31ad776655ff1a63e35434155a8 /llvm/unittests/ADT/DenseSetTest.cpp | |
parent | 4cf1da0e021bbd05665e8dbc7eebb94a5f1ea461 (diff) | |
download | bcm5719-llvm-28332c415c323d3d7db1031bd39f62498f18486e.tar.gz bcm5719-llvm-28332c415c323d3d7db1031bd39f62498f18486e.zip |
[ADT] Fix a bug in DenseSet's initializer_list constructor.
Without this fix, DenseSet crashes with an assertion if constructed with an
initializer_list whose length is not a power of two.
llvm-svn: 344542
Diffstat (limited to 'llvm/unittests/ADT/DenseSetTest.cpp')
-rw-r--r-- | llvm/unittests/ADT/DenseSetTest.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/DenseSetTest.cpp b/llvm/unittests/ADT/DenseSetTest.cpp index 04f84e041fb..7368e2ed0e0 100644 --- a/llvm/unittests/ADT/DenseSetTest.cpp +++ b/llvm/unittests/ADT/DenseSetTest.cpp @@ -80,6 +80,14 @@ TYPED_TEST(DenseSetTest, InitializerList) { EXPECT_EQ(0u, set.count(3)); } +TYPED_TEST(DenseSetTest, InitializerListWithNonPowerOfTwoLength) { + TypeParam set({1, 2, 3}); + EXPECT_EQ(3u, set.size()); + EXPECT_EQ(1u, set.count(1)); + EXPECT_EQ(1u, set.count(2)); + EXPECT_EQ(1u, set.count(3)); +} + TYPED_TEST(DenseSetTest, ConstIteratorComparison) { TypeParam set({1}); const TypeParam &cset = set; |