diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-12-07 23:18:43 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-12-07 23:18:43 +0000 |
commit | da2fdcbb639de168738c27089bafa9ca10b731bd (patch) | |
tree | 29df7d4408d02d9db58e86f8e255e77280b30adc | |
parent | d832fa053b86f42a5bc1e55e979b61c1115a8053 (diff) | |
download | external_llvm-da2fdcbb639de168738c27089bafa9ca10b731bd.tar.gz external_llvm-da2fdcbb639de168738c27089bafa9ca10b731bd.tar.bz2 external_llvm-da2fdcbb639de168738c27089bafa9ca10b731bd.zip |
Fix begin() and end() on const IntervalMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121200 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/ADT/IntervalMap.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/include/llvm/ADT/IntervalMap.h b/include/llvm/ADT/IntervalMap.h index 33569269c6..deba71d6eb 100644 --- a/include/llvm/ADT/IntervalMap.h +++ b/include/llvm/ADT/IntervalMap.h @@ -1119,7 +1119,7 @@ public: friend class iterator; const_iterator begin() const { - iterator I(*this); + const_iterator I(*this); I.goToBegin(); return I; } @@ -1131,7 +1131,7 @@ public: } const_iterator end() const { - iterator I(*this); + const_iterator I(*this); I.goToEnd(); return I; } @@ -1145,7 +1145,7 @@ public: /// find - Return an iterator pointing to the first interval ending at or /// after x, or end(). const_iterator find(KeyT x) const { - iterator I(*this); + const_iterator I(*this); I.find(x); return I; } @@ -1347,7 +1347,8 @@ protected: // The path may be partially filled, but never between iterator calls. IntervalMapImpl::Path path; - explicit const_iterator(IntervalMap &map) : map(&map) {} + explicit const_iterator(const IntervalMap &map) : + map(const_cast<IntervalMap*>(&map)) {} bool branched() const { assert(map && "Invalid iterator"); |