diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-12-17 22:07:51 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-12-17 22:07:51 +0000 |
| commit | 54912ed92174ae869599f075e7cd97b7f8695584 (patch) | |
| tree | 8e43108e0f7c5be78f7945ae1af0917db7b66d20 /llvm/unittests/ADT | |
| parent | 79855298b9274c86b28622681721ad036d004165 (diff) | |
| download | bcm5719-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.cpp | 14 |
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()); |

