summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/unittests/ADT/DenseMapTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/unittests/ADT/DenseMapTest.cpp')
-rw-r--r--gnu/llvm/unittests/ADT/DenseMapTest.cpp16
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());
+}
}