diff options
author | Andrew Trick <atrick@apple.com> | 2014-08-04 22:18:25 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2014-08-04 22:18:25 +0000 |
commit | fd4f32be90e654752de1155d32dc90256cb94537 (patch) | |
tree | b62f784bcaadccb50d6c40a739c62d256fe83f53 /llvm/unittests/ADT/DenseMapTest.cpp | |
parent | 3efd0495a0813896e1559e532c5d9e581dd48c0e (diff) | |
download | llvm-fd4f32be90e654752de1155d32dc90256cb94537.zip llvm-fd4f32be90e654752de1155d32dc90256cb94537.tar.gz llvm-fd4f32be90e654752de1155d32dc90256cb94537.tar.bz2 |
Fix SmallDenseMap assignment operator.
Self assignment would lead to buckets of garbage, causing quadratic probing to hang.
llvm-svn: 214790
Diffstat (limited to 'llvm/unittests/ADT/DenseMapTest.cpp')
-rw-r--r-- | llvm/unittests/ADT/DenseMapTest.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/DenseMapTest.cpp b/llvm/unittests/ADT/DenseMapTest.cpp index 75a910a..f497983 100644 --- a/llvm/unittests/ADT/DenseMapTest.cpp +++ b/llvm/unittests/ADT/DenseMapTest.cpp @@ -244,6 +244,11 @@ TYPED_TEST(DenseMapTest, AssignmentTest) { EXPECT_EQ(1u, copyMap.size()); EXPECT_EQ(this->getValue(), copyMap[this->getKey()]); + + // test self-assignment. + copyMap = copyMap; + EXPECT_EQ(1u, copyMap.size()); + EXPECT_EQ(this->getValue(), copyMap[this->getKey()]); } // Test swap method |