summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-12-17 22:07:51 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-12-17 22:07:51 +0000
commit54912ed92174ae869599f075e7cd97b7f8695584 (patch)
tree8e43108e0f7c5be78f7945ae1af0917db7b66d20 /llvm/unittests/ADT
parent79855298b9274c86b28622681721ad036d004165 (diff)
downloadbcm5719-llvm-54912ed92174ae869599f075e7cd97b7f8695584.tar.gz
bcm5719-llvm-54912ed92174ae869599f075e7cd97b7f8695584.zip
It is allowed to call IntervalMap::const_iterator::advanceTo() with a key that
moves the iterator to end(), and it is valid to call it on end(). That means it is valid to call advanceTo() with any monotonic key sequence. llvm-svn: 122092
Diffstat (limited to 'llvm/unittests/ADT')
-rw-r--r--llvm/unittests/ADT/IntervalMapTest.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/IntervalMapTest.cpp b/llvm/unittests/ADT/IntervalMapTest.cpp
index eb1f1a4b033..fad73183876 100644
--- a/llvm/unittests/ADT/IntervalMapTest.cpp
+++ b/llvm/unittests/ADT/IntervalMapTest.cpp
@@ -247,6 +247,12 @@ TEST(IntervalMapTest, RootMultiCoalescing) {
EXPECT_EQ(140u, I.start());
EXPECT_EQ(150u, I.stop());
+ I.advanceTo(200);
+ EXPECT_FALSE(I.valid());
+
+ I.advanceTo(300);
+ EXPECT_FALSE(I.valid());
+
// Coalesce left with followers.
// [100;110] [120;130] [140;150] [160;170]
map.insert(111, 115, 1);
@@ -520,6 +526,14 @@ TEST(IntervalMapTest, Branched2) {
EXPECT_EQ(2000u, I.start());
EXPECT_EQ(2005u, I.stop());
+ // advanceTo beyond end()
+ I.advanceTo(20000);
+ EXPECT_FALSE(I.valid());
+
+ // end().advanceTo() is valid as long as x > map.stop()
+ I.advanceTo(30000);
+ EXPECT_FALSE(I.valid());
+
// Test clear() on branched map.
map.clear();
EXPECT_TRUE(map.empty());
OpenPOWER on IntegriCloud