diff options
Diffstat (limited to 'gnu/llvm/unittests/ADT/DenseMapTest.cpp')
| -rw-r--r-- | gnu/llvm/unittests/ADT/DenseMapTest.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gnu/llvm/unittests/ADT/DenseMapTest.cpp b/gnu/llvm/unittests/ADT/DenseMapTest.cpp index 80f0462bc8f..cb5ba6875ea 100644 --- a/gnu/llvm/unittests/ADT/DenseMapTest.cpp +++ b/gnu/llvm/unittests/ADT/DenseMapTest.cpp @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// -#include "gtest/gtest.h" #include "llvm/ADT/DenseMap.h" +#include "gtest/gtest.h" #include <map> #include <set> @@ -580,4 +580,18 @@ TEST(DenseMapCustomTest, TryEmplaceTest) { EXPECT_EQ(Try1.first, Try2.first); EXPECT_NE(nullptr, P); } + +TEST(DenseMapCustomTest, ConstTest) { + // Test that const pointers work okay for count and find, even when the + // underlying map is a non-const pointer. + DenseMap<int *, int> Map; + int A; + int *B = &A; + const int *C = &A; + Map.insert({B, 0}); + EXPECT_EQ(Map.count(B), 1u); + EXPECT_EQ(Map.count(C), 1u); + EXPECT_NE(Map.find(B), Map.end()); + EXPECT_NE(Map.find(C), Map.end()); +} } |
